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 token を使用して Auth0 に認証できます。
前提条件
- Facebook を Auth0 の接続として設定する
- アプリケーションで適切な Facebook SDK を使用する
- Auth0 Dashboard > アプリケーション > アプリケーション に移動し、まだ作成していない場合は Auth0 でアプリケーションを作成します。
-
設定ページの下部で Show Advanced Settings を選択し、次に Device Settings ビューを選択します。ネイティブソーシャルログイン で、Enable Sign In with Facebook トグルを有効にします。

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