Facebook SDK と統合すると、アプリケーションは Facebook とデータを共有することになります。共有されるデータの内容を十分に把握し、その内容がアプリケーションのプライバシーポリシーに適切に反映されていることを確認してください。SDK を介して Facebook と共有されるデータについて、Auth0 は一切制御できません。Facebook SDK および Facebook Login によって収集されるデータの詳細については、Facebook GDPR のページを参照してください。
仕組み
- Step 1: アプリケーションは Facebook SDK を介してユーザーを認証し、を取得します。
- Step 2: アプリケーションはそのアクセストークンを使用して、特別な Facebook Session Info Access Token をリクエストします。
- Step 3: Facebook SDK を使用してユーザーのプロフィールを取得します。
- Step 4: その後、アプリケーションは Facebook Session Info トークンを使用して Auth0 に認証できます。
前提条件
- Facebook を Auth0 の接続として設定する
- アプリケーションで適切な Facebook SDK を使用する
- Auth0 Dashboard > Applications > Applications に移動し、Auth0 でアプリケーションを作成します (まだ作成していない場合) 。
-
設定ページの下部にある Show Advanced Settings を選択し、次に Device Settings ビューを選択します。Native Social Login で、Enable Sign In with Facebook トグルを有効にします。

実装
ステップ 1
ステップ 2
ステップ 3
ステップ 4
facebook-session-access-token トークンタイプを使用して Auth0 の /oauth/token エンドポイントを呼び出し、セッション情報のアクセストークンと Facebook のユーザープロファイルを使って Auth0 で認証できます。問題なく処理されると、Auth0 は通常のトークン交換レスポンスにユーザープロファイルを追加して返します。ユーザープロファイルは、文字列としてエンコードされた JSON オブジェクトである必要があります。
および、Auth0 からのレスポンス:
ユーザープロファイルとメールアドレスの検証
/oauth/token の呼び出しに含める必要がありました。これは、Facebook Session アクセストークン ではプロファイルを直接取得できず、また Apple’s AppStore Review Guidelines により、Facebook アクセストークン をサーバーに直接送信することもできないためです。したがって、クライアント側で取得し、この方法で Auth0 に送信する必要があります。
Auth0 は、ユーザープロファイルが Facebook から返されたものと同一であることを保証できないため、email_verified フィールドを false に設定します。