使用 Azure Active Directory B2C 設定使用 Facebook 帳戶註冊和登入
開始之前,請使用 [選擇原則類型 選取器] 來選擇您要設定的原則類型。 Azure 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,供開發人員 使用。
- 選取建立應用程式。
- 針對 [ 選取應用程式類型],選取 [取用者],然後選取 [ 下一步]。
- 輸入應用程式顯示名稱和有效的應用程式聯繫人電子郵件。
- 選取建立應用程式。 此步驟可能需要您接受 Facebook 平台策略並完成連線安全性檢查。
- 選取設定>基本。
- 複製應用程式識別碼的值。
- 選取 [顯示],並複製 [應用程式祕密] 的值。 您會使用這兩個值將 Facebook 設定為您租用戶中的識別提供者。 應用程式密碼 是重要的安全性認證。
- 輸入隱私策略 URL 的 網址,例如
https://www.contoso.com/privacy
。 原則 URL 是您維護的頁面,可為您的應用程式提供隱私權資訊。 - 輸入服務條款 URL 的 網址,例如
https://www.contoso.com/tos
。 原則 URL 是您維護的頁面,可為您的應用程式提供條款和條件。 - 輸入使用者資料移除的網址,例如
https://www.contoso.com/delete_my_data
。 [用戶數據刪除 URL] 是您維護的頁面,可供使用者要求刪除其數據。 - 選擇類別,例如
Business and Pages
。 Facebook 需要此值,但不適用於 Azure AD B2C。
- 在頁面底部,選取 [新增平台],然後選取 [網站]。
- 在 [網站 URL] 中,輸入網站的位址,例如
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-domain-name
您的自訂網域取代your-tenant-id
。 - 選取頁面底部的儲存變更。
- 若要讓您的 Facebook 應用程式可供 Azure AD B2C 使用,請選取頁面右上方的 [狀態] 選取器,並開啟它以將應用程式設為公用,然後選取 [切換模式]。 此時,[狀態] 應會從 [開發] 變更為 [可用]。 如需詳細資訊,請參閱 Facebook 應用程式開發。
將 Facebook 設定為識別提供者
- 以 Azure AD B2C 租使用者的全域管理員身分登入 Azure 入口網站。
- 如果您有多個租使用者的存取權,請選取頂端功能表中的 [設定] 圖示,以從 [目錄 + 訂用帳戶] 功能表切換至您的 Azure AD B2C 租使用者。
- 選擇 Azure 入口網站 左上角的 [所有服務],搜尋並選取 [Azure AD B2C]。
- 選取 [ 識別提供者],然後選取 [Facebook]。
- 輸入名稱。 例如, Facebook。
- 針對 [ 用戶端識別符],輸入您稍早建立之 Facebook 應用程式的應用程式識別碼。
- 針對 [ 客戶端密碼],輸入您記錄的應用程式密碼。
- 選取 [儲存]。
將 Facebook 身分識別提供者新增至使用者流程
此時,Facebook 身分識別提供者已設定,但尚未在任何登入頁面中提供。 若要將 Facebook 識別提供者新增至使用者流程:
- 在您的 Azure AD B2C 租使用者中,選取 [ 使用者流程]。
- 按兩下您要新增Facebook身分識別提供者的使用者流程。
- 在 [ 社交識別提供者] 底下,選取 [Facebook]。
- 選取 [儲存]。
- 若要測試您的原則,請選取 [ 執行使用者流程]。
- 針對 [ 應用程式],選取您先前註冊的名為 testapp1 的Web應用程式。 回覆 URL 應該會顯示
https://jwt.ms
。 - 選取 [ 執行使用者流程 ] 按鈕。
- 從 [註冊或登入] 頁面中,選取 [Facebook] 以使用Facebook 帳戶登入。
如果登入程式成功,您的瀏覽器會重新導向至 https://jwt.ms
,以顯示 Azure AD B2C 所傳回令牌的內容。
建立原則金鑰
您必須儲存您先前在 Azure AD B2C 租用戶中記錄的應用程式秘密。
- 登入 Azure 入口網站。
- 如果您有多個租使用者的存取權,請選取頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至您的 Azure AD B2C 租使用者。
- 選擇 Azure 入口網站 左上角的 [所有服務],然後搜尋並選取 [Azure AD B2C]。
- 在 [概觀] 頁面上,選取 [ 身分識別體驗架構]。
- 選取 [ 原則密鑰 ],然後選取 [ 新增]。
- 針對 [ 選項],選擇
Manual
。 - 輸入 原則金鑰的 [名稱 ]。 例如:
FacebookSecret
。 前置詞B2C_1A_
會自動新增至金鑰的名稱。 - 在 [秘密] 中,輸入您先前記錄的應用程式秘密。
- 針對 [ 金鑰使用方式],選取
Signature
。 - 按一下 [建立]。
將 Facebook 帳戶設定為識別提供者
在檔案中
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) 檔案。
- 將 TrustFrameworkExtensions.xml 檔案上傳至您的租使用者。
- 在 [自定義原則] 底下,選取 [B2C_1A_signup_signin]。
- 針對 [ 選取應用程式],選取您先前註冊的名為 testapp1 的Web應用程式。 回覆 URL 應該會顯示
https://jwt.ms
。 - 選取 [ 立即 執行] 按鈕。
- 從 [註冊或登入] 頁面中,選取 [Facebook] 以使用Facebook 帳戶登入。
如果登入程式成功,您的瀏覽器會重新導向至 https://jwt.ms
,以顯示 Azure AD B2C 所傳回令牌的內容。
下一步
- 瞭解如何將 Facebook 令牌傳遞至您的應用程式。
- 查看 Facebook 同盟 Live 示範,以及如何傳遞 Facebook 存取令牌 Live 示範