ソーシャル ID プロバイダーのサインインを有効にする

完了

演習 - ソーシャル ID プロバイダーのサインインを有効にする

ソーシャル ID プロバイダーとのフェデレーションを設定すると、顧客が FacebookGoogle などの独自のソーシャル アカウントを使用してアプリケーションにサインインできるようにすることができます。 このデモでは、アプリケーションのサインイン オプションの 1 つとして Facebook を追加する方法を示します。 サインイン ページで、顧客は Facebook を使用して Microsoft Entra ID にサインインできます。 このチュートリアルの手順は、Google などの他の ID プロバイダーにも適用されます。

Note

ソーシャル ID プロバイダーのサインインを有効にするには、少なくとも外部 ID プロバイダー管理者ディレクトリ ロールが必要になります。

このロールは特権ロールです特権ロールを使用するためのベスト プラクティスについてお読みください

フィードバックがありますか? ご自身の概念実証プロジェクトがどのように進んでいるかをお知らせください。 ご意見をお聞かせください!

  1. Facebook を ID プロバイダーとして追加するには、まず Facebook でアプリケーションを作成する必要があります。 次に、Microsoft Entra External ID でフェデレーションを構成します。 Facebook でアプリケーションを作成したら、Microsoft Entra 管理センターにサインインし、[外部 ID]>[すべての ID プロバイダー] の順に参照します。 次に、Facebook の横にある [構成] を選択します。

    [外部 ID のすべての ID プロバイダー] ブレードのスクリーンショット。ID プロバイダー オプションの一覧内の [Facebook] の横にある [構成] というタイトルのリンクが強調表示されています。

  2. [クライアント ID] には、先ほど作成した Facebook アプリケーションのクライアント ID を入力します。 [クライアント シークレット] には、記録したクライアント シークレットを入力します。 次に、 [保存] を選択します。

    右側に [ソーシャル ID プロバイダーの追加] ペインが開き、[クライアント ID] と [クライアント シークレット] のフィールドが強調表示されたスクリーンショット。

  3. この時点で、Facebook ID プロバイダーは Microsoft Entra ID に設定されていますが、どのサインイン ページでもまだ使用できません。 Facebook ID プロバイダーをユーザー フローに追加する必要があります。 外部テナントで、[ID]>[External Identities]>[ユーザー フロー] に移動します。 次に、Facebook ID プロバイダーを追加するユーザー フローを選択します。

    グリッド一覧で、[既定] というタイトルのユーザー フローが強調表示されている [外部 ID ユーザー フロー] ブレードのスクリーンショット。

  4. [設定] で、[ID プロバイダー] を選択します。 [その他の ID プロバイダー] で、[Facebook] を選択します。 ウィンドウの上部で [保存] を選択します。

    [既定] というタイトルのユーザー フローの左側のナビゲーションで強調表示された [ID プロバイダー] 設定のスクリーンショット。[他の ID プロバイダー] の一覧で、[Facebook] がオンになっています。

    お疲れさまでした。Facebook ID プロバイダーをテナントに正常に追加し、ユーザー フローで Facebook によるサインインを有効にしました。

1.Facebook を登録する

Facebook を ID プロバイダーとして追加するには、まず Facebook でアプリケーションを作成する必要があります。 次に、次の Microsoft Graph を使用して Microsoft Entra 外部 ID テナントに ID プロバイダーを登録します。 {Facebook app ID} を、先ほど作成した Facebook アプリケーションのアプリ ID に置き換えます。 {Facebook app secret} を、記録したアプリ シークレットに置き換えます。

POST https://graph.microsoft.com/beta/identityProviders
{
    "type": "Facebook",
    "name": "Facebook",
    "clientId": "{Facebook app ID}",
    "clientSecret": "{Facebook app secret}"
}

一部のテナントでは、これは次のようになります。

{
    "@odata.type": "#microsoft.graph.socialIdentityProvider",
    "displayName": "Facebook",
    "identityProviderType": "Facebook",
    "clientId": "{Facebook app ID}",
    "clientSecret": "{Facebook app secret}"
}
1.1 Facebook ID プロバイダーをユーザー フローに追加する

Facebook ID プロバイダーを Microsoft Entra 外部 ID テナントに登録したら、それをユーザー フローに追加することができます。 次の Microsoft Graph で、{user-flow-ID} を実際のユーザー フロー ID に置き換えます。

POST https://graph.microsoft.com/beta/identity/authenticationEventsFlows/{user-flow-ID}/microsoft.graph.externalUsersSelfServiceSignUpEventsFlow/onAuthenticationMethodLoadStart/microsoft.graph.onAuthenticationMethodLoadStartExternalUsersSelfServiceSignUp/identityProviders/$ref
{
    "@odata.id": "https://graph.microsoft.com/beta/identityProviders/Facebook-OAUTH"
}

2.Google を登録する

Google を ID プロバイダーとして追加するには、まず Google ID プロバイダーでアプリケーションを作成する必要があります。 次に、Microsoft Entra 外部 ID テナントに ID プロバイダーを登録します。 {Google app ID} を、先ほど作成した Google アプリケーションのアプリ ID に置き換えます。 {Google app secret} を、記録したアプリ シークレットに置き換えます。

POST https://graph.microsoft.com/beta/identityProviders
{
    "type": "Google",
    "name": "Google",
    "clientId": "{Google app ID}",
    "clientSecret": "{Google app secret}"
}

一部のテナントでは、これは次のようになります。

POST https://graph.microsoft.com/beta/identityProviders
{
    "@odata.type": "#microsoft.graph.socialIdentityProvider",
    "displayName": "Google",
    "identityProviderType": "Google",
    "clientId": "{Google app ID}",
    "clientSecret": "{Google app secret}"
}
2.1 Google ID プロバイダーをユーザー フローに追加する

Google ID プロバイダーを Microsoft Entra 外部 ID テナントに登録したら、それをユーザー フローに追加することができます。 次の Microsoft Graph 要求で、{user-flow-ID} を実際のユーザー フロー ID に置き換えます。

POST https://graph.microsoft.com/beta/identity/authenticationEventsFlows/{user-flow-ID}/microsoft.graph.externalUsersSelfServiceSignUpEventsFlow/onAuthenticationMethodLoadStart/microsoft.graph.onAuthenticationMethodLoadStartExternalUsersSelfServiceSignUp/identityProviders/$ref
{
    "@odata.id": "https://graph.microsoft.com/beta/identityProviders/Google-OAUTH"
}