啟用社交識別提供者登入

已完成

練習 - 啟用社交識別提供者登入

透過與社交識別提供者建立同盟,您可以允許客戶使用自己的社交帳戶 (如 FacebookGoogle) 登入您的應用程式。 此示範展示了如何將 Facebook 新增為應用程式的登入選項之一。 在登入頁面上,客戶可以使用 Facebook 登入 Microsoft Entra ID。 本教學課程中的步驟也適用於其他識別提供者,如 Google。

注意

您至少需要外部識別提供者系統管理員目錄角色,才能啟用社交識別提供者登入。

此為特殊權限角色請參閱使用特殊權限角色的最佳做法

想提供意見反應? 請讓我們知道您的概念證明專案進行狀況如何。 我們很樂意收到您的寶貴意見。

  1. 若要將 Facebook 新增為識別提供者,您首先需要在 Facebook 中建立應用程式。 然後,在 Microsoft Entra 外部 ID 中設定同盟。 在 Facebook 中建立應用程式後,登入 Microsoft Entra 系統管理中心並瀏覽至 [外部身分識別]>[所有識別提供者]。 然後,選取 Facebook 旁邊的 [設定]

    外部身分識別所有識別提供者刀鋒視窗的螢幕擷取畫面,在識別提供者選項清單中,Facebook 旁醒目提示標題為「設定」的連結。

  2. 對於用戶端識別碼,請輸入您之前建立的 Facebook 應用程式的用戶端識別碼。 對於用戶端密碼,請輸入您記錄的用戶端密碼。 然後選取 [儲存]。

    新增社交識別提供者窗格在右側開啟的螢幕擷取畫面,醒目提示用戶端識別碼和用戶端密碼欄位。

  3. 此時,Facebook 身分識別提供者已在您的 Microsoft Entra ID 中設定,但尚未在任何登入頁面中提供。 您需要將 Facebook 識別提供者新增至使用者流程中。 在您的外部租用戶中,瀏覽至 [身分識別]>[外部身分識別]>[使用者流程]。 然後,選取您想要在其中新增 Facebook 識別提供者的使用者流程。

    外部身分識別使用者流程刀鋒視窗的螢幕擷取畫面,其中醒目提示方格清單中標題為「預設」的使用者流程。

  4. 在 [設定] 下,選取 [識別提供者]。 在 [其他識別提供者] 底下,選取 [Facebook]。 在頁面上方選取 [儲存]

    螢幕擷取畫面,顯示標題為「預設」的使用者流程之左側導航中醒目提示的識別提供者設定。Facebook 在其他識別提供者清單下被選中。

    做得好!您已成功將 Facebook 識別提供者新增至租用戶,然後在使用者流程中啟用了 Facebook 登入。

1.註冊 Facebook

若要將 Facebook 新增為識別提供者,您首先需要在 Facebook 識別提供者中建立應用程式。 然後,使用以下 Microsoft Graph 在您的 Microsoft Entra 外部 ID 租用戶中註冊識別提供者。 將 {Facebook app ID} 取代為您之前建立的 Facebook 應用程式的應用程式識別碼。 將 {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 識別提供者新增至使用者流程

在將 Facebook 識別提供者註冊至 Microsoft Entra 外部 ID 租用戶後,您可以將其新增至您的使用者流程中。 在以下 Microsoft Graph 中,將 {user-flow-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 新增為識別提供者,您首先需要在 Google 識別提供者中建立應用程式。 然後,在您的 Microsoft Entra 外部 ID 租用戶中註冊識別提供者。 將 {Google app ID} 取代為您之前建立的 Google 應用程式的應用程式識別碼。 將 {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 識別提供者新增至使用者流程

在將 Google 識別提供者註冊至 Microsoft Entra 外部 ID 租用戶後,您可以將其新增至您的使用者流程中。 在以下 Microsoft Graph 要求中,將 {user-flow-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"
}