Azure Active Directory B2C を使用して Facebook アカウントでのサインアップおよびサインインを設定する
開始する前に、[ポリシーの種類の選択] セレクターを使用して、設定するポリシーの種類を選択します。 Azure Active Directory B2C には、ユーザーがアプリケーションを操作する方法を定義する 2 つの方法 (定義済みのユーザー フローを使用する、または完全に構成可能なカスタム ポリシーを使用する) があります。 この記事で必要な手順は、方法ごとに異なります。
注意
Azure Active Directory B2C で、カスタム ポリシーは、主に、複雑なシナリオに取り組む用途向けに設計されています。 ほとんどのシナリオで、組み込みユーザー フローを使用することをお勧めします。 まだ行っていない場合は、Active Directory B2C でのカスタム ポリシーの概要に関する記事で、カスタム ポリシー スターター パックの詳細を確認してください。
前提条件
- ユーザー フローを作成して、ユーザーがアプリケーションにサインアップおよびサインインできるようにします。
- Web アプリケーションを登録します。
- 「Active Directory B2C でのカスタム ポリシーの概要」にある手順を完了します。
- Web アプリケーションを登録します。
Facebook アプリケーションを作成する
Azure Active Directory B2C (Azure AD B2C) でユーザーが Facebook アカウントを使用してサインインできるようにするには、Facebook アプリのダッシュボードでアプリケーションを作成する必要があります。 詳細については、アプリ開発のページを参照してください。
まだ Facebook アカウントを持っていない場合は、https://www.facebook.com でサインアップしてください。 Facebook アカウントにサインアップまたはサインインした後、Facebook 開発者アカウント登録プロセスを開始します。 詳細については、Facebook 開発者登録に関するページを参照してください。
- Facebook 開発者アカウントの資格情報を使用して、開発者向けの Facebookにサインインします。
- [Create app](アプリの作成) を選択します。
- [アプリの種類を選択] で、[コンシューマー] を選択して [次へ] を選択します。
- [アプリの表示名] と、有効な [アプリの連絡先メール アドレス] を入力します。
- [Create app](アプリの作成) を選択します。 この手順では、Facebook プラットフォームのポリシーを受け入れてオンライン セキュリティ チェックを完了することが必要な場合があります。
- [設定]>[基本] を選択します。
- [App ID]の値をコピーします。
- [Show (表示)] を選択し、 [App Secret (アプリ シークレット)] の値をコピーします。 テナントで ID プロバイダーとして Facebook を構成するには、この両方を使用します。 [App Secret] は、重要なセキュリティ資格情報です。
- [Privacy Policy URL] (プライバシー ポリシーの URL) に URL (
https://www.contoso.com/privacy
など) を入力します。 ポリシーの URL は、アプリケーションのプライバシーに関する情報を提供するために維持されるページです。 - [サービス利用規約 URL] に URL を入力します (例:
https://www.contoso.com/tos
)。 ポリシーの URL は、アプリケーションの利用規約を提供するために維持されるページです。 - [ユーザー データ削除] の URL を入力します (例:
https://www.contoso.com/delete_my_data
)。 ユーザー データ削除 URL は、自分のデータの削除を要求する手段をユーザーに提供するために維持するページです。 - カテゴリを選択します。たとえば
Business and Pages
。 この値は Facebook では必須ですが、Azure AD B2C では使用されません。
- ページの下部で、 [プラットフォームの追加] 、 [Web サイト] の順に選択します。
- [サイトの URL] に、Web サイトのアドレス (たとえば
https://contoso.com
) を入力します。 - [変更の保存] を選択します。
- メニューから [製品] の横にあるプラス記号または [製品の追加] リンクを選択します。 [アプリに製品を追加する] で、 [Facebook ログイン] の下にある [設定] を選択します。
- メニューから、 [Facebook ログイン] 、 [設定] の順に選択します。
- [有効な OAuth リダイレクト URI] に「
https://your-tenant-name.b2clogin.com/your-tenant-id.onmicrosoft.com/oauth2/authresp
」を入力します。 カスタム ドメインを使用する場合は、「https://your-domain-name/your-tenant-id.onmicrosoft.com/oauth2/authresp
」と入力します。your-tenant-id
を実際のテナントの ID に、your-domain-name
を実際のカスタム ドメインに置き換えます。 - ページの下部にある [Save Changes](変更の保存) を選択します。
- Facebook アプリケーションを Azure AD B2C で使用できるようにするには、ページの右上にある状態セレクターを選択し、 [オン] に設定してアプリケーションを公開し、 [スイッチ モード] を選択します。 この時点で、状態は開発からライブに変更されます。 詳細については、Facebook アプリ開発に関するページを参照してください。
Facebook を ID プロバイダーとして構成する
- Azure AD B2C テナントの全体管理者として Azure Portal にサインインします。
- 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選び、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
- Azure Portal の左上隅の [すべてのサービス] を選択し、 [Azure AD B2C] を検索して選択します。
- [ID プロバイダー] を選択してから、 [Facebook] を選択します。
- [名前] を入力します。 たとえば、「Facebook」とします。
- [クライアント ID] には、前に作成した Facebook アプリケーションのアプリ ID を入力します。
- [クライアント シークレット] には、記録したアプリ シークレットを入力します。
- [保存] を選択します。
ユーザー フローに Facebook ID プロバイダーを追加する
この時点では、Facebook ID プロバイダーは設定されていますが、サインイン ページではまだ使用できません。 Facebook ID プロバイダーをユーザー フローに追加するには、次の手順を実行します。
- Azure AD B2C テナントで、 [ユーザー フロー] を選択します。
- Facebook ID プロバイダーを追加するユーザー フローをクリックします。
- [ソーシャル ID プロバイダー] から、 [Facebook] を選択します。
- [保存] を選択します。
- ポリシーをテストするには、 [ユーザー フローを実行します] を選択します。
- [アプリケーション] には、以前に登録した testapp1 という名前の Web アプリケーションを選択します。 [応答 URL] に
https://jwt.ms
と表示されます。 - [ユーザー フローを実行します] ボタンを選択します。
- サインアップまたはサインイン ページで、 [Facebook] を選択して、Facebook アカウントでサインインします。
サインイン プロセスが成功すると、ブラウザーは https://jwt.ms
にリダイレクトされ、Azure AD B2C によって返されたトークンの内容が表示されます。
ポリシー キーを作成する
Azure AD B2C テナントで前に記録したアプリ シークレットを格納する必要があります。
- Azure portal にサインインします。
- 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選び、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
- Azure portal の左上隅にある [すべてのサービス] を選択してから、 [Azure AD B2C] を検索して選択します。
- [概要] ページで、 [Identity Experience Framework] を選択します。
- [ポリシー キー] を選択し、 [追加] を選択します。
- オプションについては、
Manual
を選択します。 - ポリシー キーの名前を入力します。 たとえば、「
FacebookSecret
」のように入力します。 プレフィックスB2C_1A_
がキーの名前に自動的に追加されます。 - [シークレット] に、前に記録したアプリ シークレットを入力します。
- [キー使用法] として [
Signature
] を選択します。 - Create をクリックしてください。
ID プロバイダーとして Facebook アカウントを構成する
SocialAndLocalAccounts/
TrustFrameworkExtensions.xml
ファイルで、client_id
の値を Facebook アプリケーション ID に置き換えます。<TechnicalProfile Id="Facebook-OAUTH"> <Metadata> <!--Replace the value of client_id in this technical profile with the Facebook app ID"--> <Item Key="client_id">00000000000000</Item>
ポリシーをアップロードしてテストします。
作成したユーザー体験を開始する証明書利用者 (RP) ファイルを更新します。
- TrustFrameworkExtensions.xml ファイルをテナントにアップロードします。
- [カスタム ポリシー] ページで、B2C_1A_signup_signin を選択します。
- [アプリケーションの選択] には、以前に登録した testapp1 という名前の Web アプリケーションを選択します。 [応答 URL] に
https://jwt.ms
と表示されます。 - [今すぐ実行] ボタンを選択します。
- サインアップまたはサインイン ページで、 [Facebook] を選択して、Facebook アカウントでサインインします。
サインイン プロセスが成功すると、ブラウザーは https://jwt.ms
にリダイレクトされ、Azure AD B2C によって返されたトークンの内容が表示されます。
次のステップ
- Facebook トークンをアプリケーションに渡す方法について説明します。
- Facebook フェデレーションのライブ デモと、Facebook アクセス トークンのライブ デモを渡す方法を確認してください