Docs Menu
Docs Home
/ /
Atlas App Services
/ /

Facebook 認証

Facebook認証プロバイダは、ユーザーが付属のFacebookアプリケーションを通じて既存のFacebookアカウントでログすることを可能にします。ユーザーがログインすると、 Facebook はAtlas App Services に OAuth 2.0 アクセス トークン をユーザーに提供します。App Services はトークンを使用してユーザーを識別し、ユーザーに代わってFacebook APIから承認されたデータにアクセスします。Facebookログインの詳細については、「 アプリのFacebookログイン 」を参照してください。

次の図は、OAuth ロジック フローを示しています。

OAuth フロー図

App Services UI から Facebook 認証プロバイダを有効にして設定するには、 Authenticationページから Facebookを選択します。

App Services CLIを使用して Facebook 認証プロバイダを有効化・設定するには、 /auth/providers.jsonでそのための構成オブジェクトを定義します。

Facebook プロバイダーの構成は次の形式になります。

/auth/providers.json
{
"oauth2-facebook": {
"name": "oauth2-facebook",
"type": "oauth2-facebook",
"disabled": <boolean>,
"config": {
"clientId": <string>
},
"secret_config": {
"clientSecret": <string>
},
"metadata_fields": [<document>, ...],
"redirect_uris": [<string>, ...],
"domain_restrictions": [<string>, ...]
}
}

Facebook 認証プロバイダには、次の構成オプションがあります。

フィールド
説明
Client ID
config.clientId

必須。 Facebook アプリのApp ID

Facebookアプリの設定と App ID の見つける方法については、 Facebookアプリの設定 を参照してください。

Client Secret
secret_config.clientSecret

必須。 Facebook アプリのApp Secretを保存するSecretの名前。

Facebookアプリの設定と App Secret の見つける方法については、 Facebookアプリの設定 を参照してください。

Metadata Fields
metadata_fields

任意。アプリケーションがFacebook Graph APIにリクエスト認証済みユーザーを説明するフィールドのリスト。

すべてのメタデータ フィールドはデフォルトでは省略されており、フィールドごとに必須になる場合があります。ユーザーは、各必須フィールドにアクセスする権限をアプリに明示的に付与する必要があります。メタデータ フィールドが必須で、特定のユーザーに存在する場合、そのフィールドはユーザー オブジェクトに含まれます。

インポート/エクスポートした構成ファイルからのメタデータ フィールドを要求するには、フィールドのエントリを metadata_fields 配列に追加します。各エントリは、以下の形式のドキュメントでなければなりません。

{ name: "<metadata field name>", required: "<boolean>" }
Redirect URIs
redirect_uris

Web アプリケーションに必要です。許可されたリダイレクト URIのリスト。

ユーザーがFacebook での認証プロセスを完了すると、App Services は指定されたリダイレクト URI にリダイレクトし、リダイレクト URI が指定されていない場合は、ユーザーが認証リクエストを開始した URL にリダイレクトします。 Atlas App Services は、プロトコルと後続のスラッシュすべてを含め、このリストのエントリと完全に一致する URI にのみユーザーをリダイレクトします。

Domain Restrictions
domain_restrictions

任意。ユーザーアカウント用に承認されたドメインのリスト。

指定した場合、プロバイダーは Facebook でユーザーのプライマリメールアドレスのドメインを確認し、ドメインがこのリストのエントリと一致する場合にのみ認証を許可します。

たとえば、 example1.comexample2.comが表示されている場合、メールのメールがjoe.mango@example1.comの Facebook ユーザーはログインを許可され、プライマリのメールがjoe.mango@example3.comのユーザーはログインできません。 。

注意

ドメイン制限を指定した場合は、 Metadata Fields設定でメール アドレス フィールドも必須にする必要があります。

Facebook認証プロバイダは、認証とユーザー権限を管理するためにFacebookアプリ を必要とします。次の手順では、アプリの作成、 Facebookログインの設定、アプリに接続するためのプロバイダーの構成について説明します。

1

Facebook の 公式ガイド に従い新しいFacebookアプリを作成します。

2

アプリのDashboardビューから、 Facebook Loginカードを見つけて [ Set Up ] をクリックします。 各プラットフォームのクイックスタート ガイドのリストが表示されます。 プラットフォームのガイドに従って、Facebook ログインを有効にします。

注意

App Services ウェブ アプリケーションでは、Facebook 認証プロバイダーを使用するために Facebook SDK をインストールする必要はありません。 Facebook ログイン をウェブ アプリケーションに含めている場合は、Facebook SDK for JavaScript の設定に関連するクイックスタートをスキップできます。

3

ユーザーが Facebook アプリのログイン フローを完了したら、App Services にリダイレクトする必要があります。 Facebook ログインでは、ユーザーは事前承認された URI リストにのみリダイレクトできます。

Facebook Login > Settingsページから、アプリケーションの配置リージョンに対応する Atlas App Services 認証コールバック URL をValid OAuth Redirect URIsのリストに追加します。 以下の表は、各リージョンのコールバック URL の一覧です。

リージョン
App Services 認証コールバック URL
Global
https://services.cloud.mongodb.com/api/client/v2.0/auth/callback
Virginia
(us-east-1)
https://us-east-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Oregon
(us-west-2)
https://us-west-2.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Ireland
(eu-west-1)
https://eu-west-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Frankfurt
(eu-central-1)
https://eu-central-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Mumbai
(ap-south-1)
https://ap-south-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Singapore
(ap-southeast-1)
https://ap-southeast-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Sydney
(ap-southeast-2)
https://ap-southeast-2.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
4

Facebook アプリを App Services に接続するには、 Settings > Basicページで Facebook アプリのApp IDApp Secretの値を見つけ、認証プロバイダの構成に追加します。

Facebook 認証を使用して登録およびログインする方法を示すコードの例については、Realm SDK のドキュメントを参照してください。

戻る

メール/パスワード

項目一覧