使用 Azure Active Directory B2C 設定使用 Facebook 帳戶註冊和登入

開始之前,請使用 [選擇原則類型 選取器] 來選擇您要設定的原則類型。 Azure Active Directory B2C 提供兩種方法來定義使用者如何與您的應用程式互動:透過預先 定義的使用者流程 ,或透過完全可設定 的自定義原則。 本文中每個方法所需的步驟都不同。

注意

在 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. 選取建立應用程式
  3. 針對 [ 選取應用程式類型],選取 [取用者],然後選取 [ 下一步]。
  4. 輸入應用程式顯示名稱和有效的應用程式聯繫人電子郵件
  5. 選取建立應用程式。 此步驟可能需要您接受 Facebook 平台策略並完成連線安全性檢查。
  6. 選取設定>基本
    1. 複製應用程式識別碼的值
    2. 選取 [顯示],並複製 [應用程式祕密] 的值。 您會使用這兩個值將 Facebook 設定為您租用戶中的識別提供者。 應用程式密碼 是重要的安全性認證。
    3. 輸入隱私策略 URL 的 網址,例如 https://www.contoso.com/privacy。 原則 URL 是您維護的頁面,可為您的應用程式提供隱私權資訊。
    4. 輸入服務條款 URL 的 網址,例如 https://www.contoso.com/tos。 原則 URL 是您維護的頁面,可為您的應用程式提供條款和條件。
    5. 輸入使用者資料移除網址,例如 https://www.contoso.com/delete_my_data。 [用戶數據刪除 URL] 是您維護的頁面,可供使用者要求刪除其數據。
    6. 選擇類別,例如 Business and Pages。 Facebook 需要此值,但不適用於 Azure AD B2C。
  7. 在頁面底部,選取 [新增平台],然後選取 [網站]
  8. [網站 URL] 中,輸入網站的位址,例如 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-domain-name您的自訂網域取代 your-tenant-id
  13. 選取頁面底部的儲存變更
  14. 若要讓您的 Facebook 應用程式可供 Azure AD B2C 使用,請選取頁面右上方的 [狀態] 選取器,並開啟它以將應用程式設為公用,然後選取 [切換模式]。 此時,[狀態] 應會從 [開發] 變更為 [可用]。 如需詳細資訊,請參閱 Facebook 應用程式開發

將 Facebook 設定為識別提供者

  1. 以 Azure AD B2C 租使用者的全域管理員身分登入 Azure 入口網站
  2. 如果您有多個租使用者的存取權,請選取頂端功能表中的 [設定] 圖示,以從 [目錄 + 訂用帳戶] 功能表切換至您的 Azure AD B2C 租使用者。
  3. 選擇 Azure 入口網站 左上角的 [所有服務],搜尋並選取 [Azure AD B2C]。
  4. 選取 [ 識別提供者],然後選取 [Facebook]。
  5. 輸入名稱。 例如, Facebook
  6. 針對 [ 用戶端識別符],輸入您稍早建立之 Facebook 應用程式的應用程式識別碼。
  7. 針對 [ 客戶端密碼],輸入您記錄的應用程式密碼
  8. 選取 [儲存]。

將 Facebook 身分識別提供者新增至使用者流程

此時,Facebook 身分識別提供者已設定,但尚未在任何登入頁面中提供。 若要將 Facebook 識別提供者新增至使用者流程:

  1. 在您的 Azure AD B2C 租使用者中,選取 [ 使用者流程]。
  2. 按兩下您要新增Facebook身分識別提供者的使用者流程。
  3. 在 [ 社交識別提供者] 底下,選取 [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 入口網站
  2. 如果您有多個租使用者的存取權,請選取頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至您的 Azure AD B2C 租使用者。
  3. 選擇 Azure 入口網站 左上角的 [所有服務],然後搜尋並選取 [Azure AD B2C]。
  4. 在 [概觀] 頁面上,選取 [ 身分識別體驗架構]。
  5. 選取 [ 原則密鑰 ],然後選取 [ 新增]。
  6. 針對 [ 選項],選擇 Manual
  7. 輸入 原則金鑰的 [名稱 ]。 例如: FacebookSecret 。 前置詞 B2C_1A_ 會自動新增至金鑰的名稱。
  8. 在 [秘密] 中,輸入您先前記錄的應用程式秘密。
  9. 針對 [ 金鑰使用方式],選取 Signature
  10. 按一下 [建立]。

將 Facebook 帳戶設定為識別提供者

  1. 在檔案中 SocialAndLocalAccounts/TrustFrameworkExtensions.xml ,將 的值 client_id 取代為 Facebook 應用程式識別碼:

    <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 所傳回令牌的內容。

下一步