Azure Active Directory B2C を使用して Facebook アカウントでのサインアップおよびサインインを設定する

開始する前に[ポリシーの種類の選択] セレクターを使用して、設定するポリシーの種類を選択します。 Azure Active Directory B2C には、ユーザーがアプリケーションを操作する方法を定義する 2 つの方法 (定義済みのユーザー フローを使用する、または完全に構成可能なカスタム ポリシーを使用する) があります。 この記事で必要な手順は、方法ごとに異なります。

注意

Azure Active Directory B2C で、カスタム ポリシーは、主に、複雑なシナリオに取り組む用途向けに設計されています。 ほとんどのシナリオで、組み込みユーザー フローを使用することをお勧めします。 まだ行っていない場合は、Active Directory B2C でのカスタム ポリシーの概要に関する記事で、カスタム ポリシー スターター パックの詳細を確認してください。

前提条件

Facebook アプリケーションを作成する

Azure Active Directory B2C (Azure AD B2C) でユーザーが Facebook アカウントを使用してサインインできるようにするには、Facebook アプリのダッシュボードでアプリケーションを作成する必要があります。 詳細については、アプリ開発のページを参照してください。

まだ Facebook アカウントを持っていない場合は、https://www.facebook.com でサインアップしてください。 Facebook アカウントにサインアップまたはサインインした後、Facebook 開発者アカウント登録プロセスを開始します。 詳細については、Facebook 開発者登録に関するページを参照してください。

  1. Facebook 開発者アカウントの資格情報を使用して、開発者向けの Facebookにサインインします。
  2. [Create app](アプリの作成) を選択します。
  3. [アプリの種類を選択] で、[コンシューマー] を選択して [次へ] を選択します。
  4. [アプリの表示名] と、有効な [アプリの連絡先メール アドレス] を入力します。
  5. [Create app](アプリの作成) を選択します。 この手順では、Facebook プラットフォームのポリシーを受け入れてオンライン セキュリティ チェックを完了することが必要な場合があります。
  6. [設定]>[基本] を選択します。
    1. [App ID]の値をコピーします。
    2. [Show (表示)] を選択し、 [App Secret (アプリ シークレット)] の値をコピーします。 テナントで ID プロバイダーとして Facebook を構成するには、この両方を使用します。 [App Secret] は、重要なセキュリティ資格情報です。
    3. [Privacy Policy URL] (プライバシー ポリシーの URL) に URL (https://www.contoso.com/privacy など) を入力します。 ポリシーの URL は、アプリケーションのプライバシーに関する情報を提供するために維持されるページです。
    4. [サービス利用規約 URL] に URL を入力します (例: https://www.contoso.com/tos)。 ポリシーの URL は、アプリケーションの利用規約を提供するために維持されるページです。
    5. [ユーザー データ削除] の URL を入力します (例: https://www.contoso.com/delete_my_data)。 ユーザー データ削除 URL は、自分のデータの削除を要求する手段をユーザーに提供するために維持するページです。
    6. カテゴリを選択します。たとえばBusiness and Pages。 この値は Facebook では必須ですが、Azure AD B2C では使用されません。
  7. ページの下部で、 [プラットフォームの追加][Web サイト] の順に選択します。
  8. [サイトの URL] に、Web サイトのアドレス (たとえば https://contoso.com) を入力します。
  9. [変更の保存] を選択します。
  10. メニューから [製品] の横にあるプラス記号または [製品の追加] リンクを選択します。 [アプリに製品を追加する] で、 [Facebook ログイン] の下にある [設定] を選択します。
  11. メニューから、 [Facebook ログイン][設定] の順に選択します。
  12. [有効な 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 を実際のカスタム ドメインに置き換えます。
  13. ページの下部にある [Save Changes](変更の保存) を選択します。
  14. Facebook アプリケーションを Azure AD B2C で使用できるようにするには、ページの右上にある状態セレクターを選択し、 [オン] に設定してアプリケーションを公開し、 [スイッチ モード] を選択します。 この時点で、状態は開発からライブに変更されます。 詳細については、Facebook アプリ開発に関するページを参照してください。

Facebook を ID プロバイダーとして構成する

  1. Azure AD B2C テナントの全体管理者として Azure Portal にサインインします。
  2. 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選び、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
  3. Azure Portal の左上隅の [すべてのサービス] を選択し、 [Azure AD B2C] を検索して選択します。
  4. [ID プロバイダー] を選択してから、 [Facebook] を選択します。
  5. [名前] を入力します。 たとえば、「Facebook」とします。
  6. [クライアント ID] には、前に作成した Facebook アプリケーションのアプリ ID を入力します。
  7. [クライアント シークレット] には、記録したアプリ シークレットを入力します。
  8. [保存] を選択します。

ユーザー フローに Facebook ID プロバイダーを追加する

この時点では、Facebook ID プロバイダーは設定されていますが、サインイン ページではまだ使用できません。 Facebook ID プロバイダーをユーザー フローに追加するには、次の手順を実行します。

  1. Azure AD B2C テナントで、 [ユーザー フロー] を選択します。
  2. Facebook ID プロバイダーを追加するユーザー フローをクリックします。
  3. [ソーシャル ID プロバイダー] から、 [Facebook] を選択します。
  4. [保存] を選択します。
  5. ポリシーをテストするには、 [ユーザー フローを実行します] を選択します。
  6. [アプリケーション] には、以前に登録した testapp1 という名前の Web アプリケーションを選択します。 [応答 URL]https://jwt.ms と表示されます。
  7. [ユーザー フローを実行します] ボタンを選択します。
  8. サインアップまたはサインイン ページで、 [Facebook] を選択して、Facebook アカウントでサインインします。

サインイン プロセスが成功すると、ブラウザーは https://jwt.ms にリダイレクトされ、Azure AD B2C によって返されたトークンの内容が表示されます。

ポリシー キーを作成する

Azure AD B2C テナントで前に記録したアプリ シークレットを格納する必要があります。

  1. Azure portal にサインインします。
  2. 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選び、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
  3. Azure portal の左上隅にある [すべてのサービス] を選択してから、 [Azure AD B2C] を検索して選択します。
  4. [概要] ページで、 [Identity Experience Framework] を選択します。
  5. [ポリシー キー] を選択し、 [追加] を選択します。
  6. オプションについては、Manualを選択します。
  7. ポリシー キーの名前を入力します。 たとえば、「 FacebookSecret 」のように入力します。 プレフィックス B2C_1A_ がキーの名前に自動的に追加されます。
  8. [シークレット] に、前に記録したアプリ シークレットを入力します。
  9. [キー使用法] として [Signature] を選択します。
  10. Create をクリックしてください。

ID プロバイダーとして Facebook アカウントを構成する

  1. 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) ファイルを更新します。

  1. TrustFrameworkExtensions.xml ファイルをテナントにアップロードします。
  2. [カスタム ポリシー] ページで、B2C_1A_signup_signin を選択します。
  3. [アプリケーションの選択] には、以前に登録した testapp1 という名前の Web アプリケーションを選択します。 [応答 URL]https://jwt.ms と表示されます。
  4. [今すぐ実行] ボタンを選択します。
  5. サインアップまたはサインイン ページで、 [Facebook] を選択して、Facebook アカウントでサインインします。

サインイン プロセスが成功すると、ブラウザーは https://jwt.ms にリダイレクトされ、Azure AD B2C によって返されたトークンの内容が表示されます。

次のステップ