Azure AD B2C(一)初识

一,引言(上节回顾)

  上一节讲到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

  

posted @ 2020-05-19 14:03  Grant_Allen  阅读(2871)  评论(6编辑  收藏  举报