Azure AD B2C
Azure AD B2C 提供了business to customer的身份标识机服务。
是一种SaaS服务。
客户可以选择他们喜欢的社交软件、企业软件、本地账户登标识来进行SSO,这样来访问你的应用程序和APIs
AAD B2C时一种客户身份标识访问管理解决方案,可以支持百万数量的用户,每天可以支持数十亿的验证请求。
AAD B2C可以保证认证平台的安全扩大,可以进行健康、自动处理DDos 密码喷洒 保利破解等威胁。
SSO
AAD B2C可以支持基本的验证协议,包括OpenID Connect OAuth2.0 SAML。
同时也集成了最常见的应用
AAD B2C可以看作一个验证授权中心,可以给web 应用、手机应用、API等等 进行验证授权,也可以对这些应用进行SSO。集中管理用户档案和用户偏好信息,并且可以捕获一些登录行为的细节信息。
和外部的user stores(用户存储)进行集成
Azure AD B2C的目录可以支持一个用户有100个自定义的属性。然而,你也可以和外部系统进行集成。比如说,使用Azure AD B2C进行验证,但是授权第三方的CRM或者客户自己信赖的数据库,作为客户的数据源。
像这样的外部用户存储场景,就是用AAD B2C来进行身份验证,但是又集成第三方系统来存储用户profile或者个人信息。
举个例子说明,为了满足地方的信息安全法律法规或者本地数据存储条例,基于这些要求,用户的资料信息必须存在其他地方,那么AAD B2C就可以满足这种场景。
Azure AD B2C 可以在注册或者资料编辑的时候,手机用户信息,然后在未来注册的时候,Azure AD B2C就可以从外部系统取回所需的数据。
Progressive Profiling 逐步进行资料注册
另一种用户体验的方法就是逐步进行资料注册。
第三方身份标识验证和校验
使用Azure AD B2C来搜集用户信息,然后将其传送给第三方系统进行验证,信用评分、用户账户创建许可。
Azure AD B2C tenant
AAD B2C 租户代表着你的阻止,用户的目录。美国AAD B2C租户都是相互独立隔离的, AAD B2C 和AAD租户是两回事儿。主要区别如下:
- 目录 - 目录是AAD B2C用来存储用户凭据和资料的地方,当然害存储了应用程序注册
- 应用程序注册 - 将web应用、手机应用、原生应用注册到AAD B2C上,这样就可以来管理身份标识,此外所有你像保护的API都可以用AAD B2C来保护。
- 用户流 user flows 和自定义的策略
内置 user flows 和完全自定义的策略又不同的身份标识应用体验
- 采用user flows可以快速部署,可以建立常见的身份标识,比如注册登录和资料编辑
- 采用自定义策略的用户体验不拥护传统的身份标识注册,但是可以定义复杂的身份标识流程,这样才能满足企业、用户、员工、合作伙伴和普通童虎的需求。
- 身份标识提供方
可以和很多身份标识提供方进行联合身份验证
社交软件:facebook linkin Twitter
外部身份标识提供方:需要能够支持标准的身份标识协议,比如OAuth2.0 OpenID Connect
本地账户,需要用户用用户名和密码进行注册和登入 - 密钥,添加管理加密密钥,用户签名、验证token 客户端密钥、证书、密码
AAD B2C 账户
AAD B2C 定义了很多中用户账户,AAD AAD B2B和B2C都又如下账户类型:
- 工作账户
- 访客账户
- 消费者账户
消费者账户
消费者账户可以登录AAD B2C集成的应用程序,但是不能访问Azure 资源,比如Azure 门户。
消费者账户可以和以下集中身份标识种类结合
- 本地身份标识:用户名和密码存储在本地AAD B2C目录,这类身份标识我们称为 本地账户。
- 社交身份标识、企业身份标识:联合身份验证,又联合身份认证提供方来管理验证,比如Facebook Microsoft ADFS Salesforce。
消费者账户可以用多个身份标识进行登录,比如用户名、有些、员工号、*ID、或者其他的
身份标识体验:用户流或者自定义策略
可扩展策略框架是AAD B2C的核心功能。策略表术了用户的身份标识体验,例如注册、登录、资料编辑。
在AAD B2C里面,主要有两种提供身份标识用户体验的方法:用户流和自定义策略。
- 用户流是提前定义好的,是一种内置的 可配置的策略,这样开发人员就可以很快底创建注册、登录、策略编辑体验。
- 自定义策略:由于有些上镜需要复杂的身份标识验证体验,这样就可以创建自己的用户登录流程。
用户流和自定义策略都是IEF 身份标识体验框架中的内容, 也是AAD B2C策略的指挥引擎。
- 用户流
让开发人员快速底搭建好一些常见的身份标识任务,Azure 门户包括集中定义好了的,可配置的策略,这叫做user flow
你可以在你的应用程序里面配置user flow设置:
- 注册的账户类型:比如社交账户、本地账户(要用邮箱地址和密码进行登录)
- 从消费者哪里搜刮来的属性信息,比如名字、邮编号、住址
- AAD MFA
- 自定义UI界面
- 当用户完成了以上一系列user flow之后,需明确要从应用程序那里拿回什么样的claim
- 会话管理
user flow的模式可以用户大多数的手机和web app或者sigle-page app。
一般都建议采用user flows的模式进行身份验证,除非你有一些高级的特殊需求
- 自定义策略
自定义策略可以对IEF 身份标识体验框架进行全面更改。如果采用自定义策略模式,可以采用IEF去搭建所有的验证、用户注册、资料编辑体验。
IEF 身份标识体验框架可以让你创建各种各样的用户身份标识历程,比如:
- 和其他IdP进行联合身份验证
- 进行MFA 验证,可以是微软的MFA也可以是第三方的MFA
- 搜集用户的信息
10.可以和第三方REST API进行集成
如此的用户历程是通过策略进行定义的,你可以创建数条policy来定义你想要的用户登录体验。
自定义策略是由XML文件写成的,这个XML文件会代表很多层级管理。
XML文件会定义claim schema,claims变化、content definition,calims provider,technical profiles 用户登录历程指挥步骤。
自定义策略一般最适用于复杂的身份标识场景,开发人员在配置自定义策略时,必须要谨慎定义可信赖管理,因为其中会包括元数据的终结点、claim具体交换定义、配置密钥、key、证书等等。
协议和token
- 对于应用程序来说,AAD B2C 支持OAuth 2.0 OpenID Connect SAML协议。你的应用程序通过发出验证请求来开始用户登录历程,AAD B2C的请求结果是一个安全token,比如ID token access token SAML token。这些安全token定义了用用程序里面的用户身份标识。
- 对于外部的身份标识来说,AAD B2C支持联合身份验证,OAUTH 1.0 2.0 OpenID Connect SAML的IdP。