Azure AD B2C(一)初識

Grant_Allen發表於2020-05-19

一,引言(上節回顧)

  上一節講到Azure AD的一些基礎概念,以及如何運用 Azure AD 包含API資源,Azure AD 是微軟提供的雲端的身份標識和資源訪問服務,幫助員工/使用者/管理員訪問一些外部資源和內部資源:

• 外部資源,例如 Microsoft Office 365、Azure 門戶以及成千上萬的其他 SaaS 應用程式。
• 內部資源,例如公司網路和 Intranet 上的應用,以及由自己的組織開發的任何雲應用。

今天,引入一個新概念:Azure Active Directory B2C。下面就開始進入正文了?????

二,正文

  1,關於Azure AD B2C是什麼?

  Azure Active Directory B2C 也稱為 Azure AD B2C,它是以服務的形式提供企業到客戶的標識管理服務,用於以自定義的方式控制客戶在使用 ios,android,.net,spa以及其他應用程式如何註冊,登入和管理其個人資料。客戶使用其首選的社交,企業或者本地賬戶標識對應用程式和API進行單一登入訪問。

  Azure AD B2C 是一種貼牌式身份驗證解決方案。 你可以使用自己的品牌自定義整個使用者體驗,使其能夠與 Web 和移動應用程式無縫融合。可以自定義當使用者註冊、登入和修改其個人資料資訊時 Azure AD B2C 顯示的每一頁。 可以自定義使用者旅程中的 HTML、CSS 和 JavaScript,使 Azure AD B2C 體驗的外觀類似於應用程式的原生組成部分。

  Azure AD B2C 使用基於標準的身份驗證協議,包括 OpenID Connect、OAuth 2.0 和 SAML。 它與大多數新式應用程式和商用現貨軟體相整合。例如,FaceBook,微博,谷歌賬號,微信等等。Azure AD B2C 充當 Web 應用程式、移動應用和 API 的中心身份驗證機構,使你能夠為所有這些應用構建單一登入 (SSO) 解決方案。 集中收集使用者個人資料和偏好資訊,並捕獲有關登入行為和註冊轉換的詳細分析。

 

 Azure AD B2C 還可以與外部使用者儲存整合,Azure AD B2C 提供一個目錄,其中可以儲存每個使用者的 100 個自定義屬性。 但是,你也可以與外部系統相整合。 例如,使用 Azure AD B2C 進行身份驗證,但將許可權委託給用作客戶資料真實來源的外部客戶關係管理 (CRM) 或客戶忠誠度資料庫。

  另一種外部使用者儲存方案是讓 Azure AD B2C 處理應用程式的身份驗證,但與儲存使用者個人資料或個人資料的外部系統相整合。 例如,滿足區域或本地資料儲存策略規定的資料駐留要求。

 2,功能概述

2.1 租戶

  在 Azure Active Directory B2C (Azure AD B2C) 中,租戶表示組織,也是使用者的目錄。 每個 Azure AD B2C 租戶都是獨特的,獨立於其他 Azure AD B2C 租戶。 Azure AD B2C 租戶不同於你可能已有的 Azure Active Directory 租戶,Azure AD B2C 租戶是開始使用 Azure AD B2C 之前必須先建立的第一個資源。 

2.2 賬戶

  使用者可以通過使用者帳戶登入到通過 Azure AD B2C 保護的應用程式。 但是,具有使用者帳戶的使用者無法訪問 Azure 資源(例如 Azure 門戶)。可將使用者帳戶關聯到以下標識型別:

  • 本地標識:將使用者名稱和密碼儲存在 Azure AD B2C 目錄本地。 我們通常將此類標識稱為“本地帳戶”。
  • 社交或企業標識:使用者的標識由 Microsoft、ADFS 或 Salesforce 等聯合標識提供者進行管理。

  具有使用者帳戶的使用者可以通過多個標識(例如使用者名稱、電子郵件、員工 ID、政府 ID 等)登入。 單個帳戶可以有多個本地和社交標識。

2.3 外部標識提供者-第三方授權中心

  可以配置 Azure AD B2C,以允許使用者使用外部社交或企業標識提供者 (IdP) 提供的憑據登入到你的應用程式。 Azure AD B2C 支援外部標識提供者和任何支援 OAuth 1.0、OAuth 2.0、OpenID Connect、SAML 或 WS-Federation 協議的標識提供者。使用外部標識提供者聯合,可讓使用者通過其現有的社交帳戶或企業帳戶登入,而不必僅僅出於訪問你的應用程式的目的建立一個新帳戶。

  在註冊或登入頁上,Azure AD B2C 會提供外部標識提供者的列表,供使用者選擇用來登入。 使用者選擇一個外部標識提供者後,將會轉到(重定向到)所選提供者的網站,以完成登入過程。 使用者成功登入後,將返回到 Azure AD B2C,以便對應用程式中的帳戶進行身份驗證。

2.4,使用者流或者自定義策略

  Azure AD B2C 的核心優勢在於它的可擴充套件策略框架。 策略描述使用者的標識體驗,例如註冊、登入和配置檔案編輯。

在 Azure AD B2C 中,可以通過兩個主要途徑來提供這些標識體驗:使用者流和自定義策略。

  • 使用者流是我們提供的預定義的內建可配置策略,使你能夠在幾分鐘內建立註冊、登入和策略編輯體驗。

  • 使用自定義策略可為複雜的標識體驗方案建立自己的使用者旅程。

使用者流和自定義策略均由 Identity Experience Framework(Azure AD B2C 的策略業務流程引擎)提供支援。

2.5 協議,令牌

  Azure AD B2C 支援 OpenID Connect 和 OAuth 2.0 協議。 在 OpenID Connect 的 Azure AD B2C 實現中,應用程式通過向 Azure AD B2C 發出身份驗證請求,來啟動此認證。向 Azure AD B2C 發出請求後會獲得一個安全令牌,例如 ID 令牌或訪問令牌。 此安全令牌定義使用者的標識。 令牌是從 Azure AD B2C 終結點(例如 /token 或 /authorize 終結點)接收的。 通過這些令牌,可以訪問用於驗證標識以及允許訪問安全資源的宣告。

上圖顯示了 Azure AD B2C 如何使用同一身份驗證流中的各種協議進行通訊:

  1. 信賴方應用程式使用 OpenID Connect 向 Azure AD B2C 發起授權請求。
  2. 當應用程式的使用者選擇通過使用 SAML 協議的外部標識提供者登入時,Azure AD B2C 將呼叫 SAML 協議來與該標識提供者通訊。
  3. 使用者使用外部標識提供者完成登入操作後,Azure AD B2C 會使用 OpenID Connect 將令牌返回給信賴方應用程式。

2.6,應用程式整合Azure AD B2C

  當使用者想要登入到你的應用程式時(無論是 Web、移動、桌面還是單頁應用程式 (SPA)),該應用程式都會向使用者流或自定義策略提供的終結點發起授權請求。 使用者流或自定義策略定義並控制使用者的體驗。 當使用者完成使用者流(例如註冊或登入流)後,Azure AD B2C 會生成一個令牌,然後將使用者重定向回到應用程式。

  多個應用程式可以使用同一個使用者流或自定義策略。 單個應用程式可以使用多個使用者流或自定義策略。例如,若要登入到某個應用程式,該應用程式將使用註冊或登入使用者流。 使用者登入後,他們可能想要編輯其配置檔案,在這種情況下,應用程式將發起另一個授權請求(這一次使用的是配置檔案編輯使用者流)。

2.7 支援自定義UI

  對於使用者註冊、登入和修改使用者資料等常見的功能,AAD B2C 提供了使用者流的功能,直白的講,就是提供了這些模組的UI,並且可以自定義樣式。

三、結尾

今天大概介紹了以下AAD B2C的一些概述和功能,我們可以配置 Azure AD B2C,以允許使用者使用外部社交或企業標識提供者 (IDP) 提供的憑據登入到你的應用程式。下一篇,正式開講建立並且體驗AAD B2C註冊和登陸使用者流。

作者:Allen 

版權:轉載請在文章明顯位置註明作者及出處。如發現錯誤,歡迎批評指正。

參考微軟文件出處:

 中文文件:https://docs.azure.cn/zh-cn/active-directory-b2c/overview

 英文文件:https://docs.azure.cn/en-us/active-directory-b2c/overview

  

相關文章