瞭解Azure Active Directory B2C概念;
在Azure 門戶創建 Azure Active Directory B2C;
在AAD B2C租戶中添加應用程序並創建密鑰;
在AAD B2C中添加用戶流:註冊和登錄;
體驗註冊和登錄用戶流;
視頻講解:
您可以在B站觀看本節視頻講解:https://www.bilibili.com/video/BV1SC4y1s7iM/
圖文講解:
一. 相關概念:
Active Directory:
活動目錄(Active Directory):服務器及客戶端計算機管理; 用戶服務:管理用戶域賬戶、用戶信息、企業通訊錄(與電子郵件系統集成)、用戶組管理、用戶身份認證; 網絡設備例如打印機等網絡資源管理;應用系統例如財務軟件的集成等等;
Azure Active Directory:
Azure AD 是微軟提供的雲端的身份標識和資源訪問服務,幫助員工/用戶/管理員訪問一些外部資源和內部資源:
外部資源,例如 Microsoft Office 365、Azure 門戶以及成千上萬的其他 SaaS 應用程序。
內部資源,例如公司網絡和 Intranet 上的應用,以及由自己的組織開發的任何雲應用。
此外,Azure AD還允許您將本地活動目錄(AD)中的用戶及分組信息通過目錄同步機制映射到 Azure AD中,從而允許您的客戶用其原有的活動目錄用戶來登陸到您的雲服務。
Azure Active Directory B2C:
也稱爲Azure AD B2C, 以服務的形式提供企業到客戶的標識管理服務,用於以自定義的方式控制客戶在使用 iOS、Android、.NET、單頁 (SPA) 及其他應用程序時如何註冊、登錄和管理其個人資料。 客戶使用其首選的社交、企業或本地帳戶標識對應用程序和 API 進行單一登錄訪問。
AAD B2C 功能:
使用用戶提供的標識進行單一登錄訪問
Azure AD B2C 充當 Web 應用程序、移動應用和 API 的中心身份驗證機構,使你能夠爲所有這些應用構建單一登錄 (SSO) 解決方案。支持 OpenID Connect、OAuth 2.0 和 SAML。
與外部系統集成
Azure AD B2C 提供一個目錄,其中可以保存每個用戶的 100 個自定義屬性。 除此,也可以與外部系統相集成。
支持自定義UI
對於用戶註冊、登錄和修改用戶資料等常見的功能,AAD B2C 提供了用戶流的功能,直白的講,就是提供了這些模塊的UI,並且可以自定義樣式。
二. 實戰 創建AAD B2C租戶並體驗:
創建AAD B2C 租戶:
選擇創建新的AAD B2C租戶
AAD B2C 是全局性的服務,不存在中國北部/東部的區域選擇。
將創建好的租戶鏈接到訂閱(進行計費)
至此,AAD B2C租戶創建完成。
在AAD B2C租戶中添加應用程序並創建密鑰
本例中,我們假定是WEB APP/WEB API程序;
回覆URL是經由AAD B2C認證完成的 用戶信息會發送到這個鏈接地址,通常這個地址需要我們自行構建,這樣就能接受到AAD B2C 返回給我們的用戶信息了。
本例中,我們使用了https://jwt.ms, 這是一個在開發階段可用的,由微軟提供的幫助頁面,該頁面僅在瀏覽器中顯示AAD B2C對用戶的認證結果:
接下來爲應用創建密鑰,每個應用目前可以創建兩個密鑰,密鑰僅顯示一次,頁面刷新後,就會顯示*號,因此,請保存好密鑰信息。
這個密鑰會在後續步驟中用到,比如在申請訪問 Token時。
在AAD B2C中添加用戶流:註冊和登錄
簡單來講,用戶流提供了用戶註冊/登錄/重置密碼/修改用戶信息等基本流程的web頁面,這個頁面有多種現成的樣式可選,也可以自定義樣式,同時支持38種語言,經過這些配置,可以讓這些頁面看起來和我們設計的web/app 保持一致的顯示效果。
本例中,我們選擇“註冊和登錄”用戶流。
默認選擇郵件作爲標識提供者,後續我們會介紹如何通過微博/微信/領英或其他服務登錄。
選中需要的字段:
點擊確認後,可以創建用戶流。
體驗註冊和登錄用戶流:
點擊創建好的用戶流,進入用戶流詳細頁面,可以進行UI佈局以及多國語言設置,本例中我們保持默認:
點擊運行用戶流,可以進行用戶流的測試,該測試和最終用戶看到的效果是一致的。
測試用戶流會給我們打開新的頁面,需要我們使用郵箱地址和密碼進行登錄,因爲我們尚未註冊用戶,則登錄是失敗的:
點擊Sign Up Now跳轉到註冊頁面,注意,此頁面也是AAD B2C預製的頁面,我們可以自定義UI修改其佈局:
首先會通過驗證碼方式驗證郵箱所有權,接下來按照我們設置好的字段填寫頁面,並點擊創建按鈕:
創建成功後,會自動跳轉到 我們設置的回覆URL:
本用戶流執行結束後會在AAD B2C的用戶頁面添加一個新的用戶:
註冊用戶流創建完成後,請自行嘗試密碼重置用戶流。
本文到此結束!