設定
export interface ModuleOptions {
config?: FirebaseOptions | string,
configEnvPrefix?: string
adminSDKCredential?: string | ServiceAccount
recaptchaSiteKey?: string
vapidKey?: string
useAdminSDK?: boolean
useAuthSSR?: boolean
useDevtools?: boolean
useMessagingServiceWorker?: boolean
}
const DEFAULTS: ModuleOptions = {
useAdminSDK: false,
useAuthSSR: true,
useMessagingServiceWorker: false,
useDevtools: true
}
config, configEnvPrefix
クライアントSDKの設定
- 環境変数
FIREBASE_CONFIGが存在する場合、JSONとして読み込みinitializeSDK(config)に渡します - 設定がオブジェクトとして渡された場合、
initializeSDK(config)にそのまま渡します - 設定が文字列として渡された場合、JSONとして読み込まれて
initializeSDK(config)に渡します configPrefixが設定されている場合は、環境変数から設定を読み込みます
例:configPrefixがFIREBASE_に設定されているとき
FIREBASE_API_KEY=value
FIREBASE_AUTH_DOMAIN=value
FIREBASE_PROJECT_ID=value
FIREBASE_STORAGE_BUCKET=value
FIREBASE_MESSAGING_SENDER_ID=value
FIREBASE_APP_ID=value
FIREBASE_DATABASE_URL=value
FIREBASE_MEASUREMENT_ID=value
使用しないサービスに関する設定は省略できることがあります。
.envを使って環境変数を管理することもできます。
adminSDKCredential
Admin SDK の認証情報またはそのパス
使用する認証情報は以下の通りです。
- 値が設定されていない場合、アプリケーションのデフォルト認証情報を利用 (環境変数
GOOGLE_APPLICATION_CREDENTIALSを参照) - 設定値をJSONとして処理
- 設定値を認証情報が書かれたJSONファイルへのパスとして処理
- このオプションをそのまま認証情報として利用
Admin SDKの認証情報が公開されないように注意してください。.gitignoreへの追記もお忘れなく。
recaptchaSiteKey
reCAPTCHAのサイトキー
値が設定されている場合、自動的にAppCheckを有効にします。configEnvPrefixが設定されている場合は、環境変数${configEnvPrefix}RECAPTCHA_SITE_KEYから値を取得します。
vapidKey
FCM用のVAPID (Voluntary Application Server Identification)鍵
configEnvPrefixが設定されている場合は、環境変数${configEnvPrefix}VAPID_KEYから値を取得します。
useAdminSDK
Admin SDKを利用するか
useAuthSSR
Service Workerを利用したセッション管理をするか
この設定はAdmin SDKが無効であっても利用できますが、いくつかの機能が制限されることがあります。
セキュリティ上の理由から、この設定を有効にする場合はAdmin SDKも同時に有効化することを推奨します。
TIP
サイトを静的に生成する場合(nuxi generate)、この設定は自動で無効化されます。
useDevtools
DevToolsを利用するか
この機能を利用するためには、@nuxt/devtoolsのインストールも必要です。
useMessagingServiceWorker
モジュールに組み込まれたFirebase Cloud Messaging(FCM)用のService Workerを有効化します。