Azure AD B2C 支持的应用程序
Azure AD B2C Supported Applications
我正在考虑使用 Azure AD B2C 为我的 ASP.NET 带有 React 前端的核心应用程序以及在 Xamarin 中构建的本机应用程序的用户进行身份验证。
我的研究提出了几个问号:
- web/React 应用程序和本机应用程序都是同一个应用程序。他们必须使用相同的 App ID 并接入相同的用户数据库。是这样吗?
- 第 9 频道的一段视频表明,Azure AD B2C 假设用户的会话时间较短,而不是企业用户的会话时间较长。不确定如何解释这一点。什么是短会话,它的最大限制是多长时间?
- 假设经过身份验证的用户的令牌将 return 一个
GUID
值来识别用户是否安全?用户身份?或者是不同类型的ID?
- 本机应用程序用户是通过内置浏览器登录还是直接从应用程序登录?我认为,必须切换到内置浏览器可能会降低用户体验。
- Web 和本机应用程序可以注册为同一应用程序,也可以注册为不同的应用程序,但无论哪种方式,它们都共享相同的用户目录。
- 第 9 频道的视频指的是最终用户访问,而不是应用程序会话,如果您是这样理解的话。 Azure AD B2C 使你能够控制令牌的生命周期、会话的生命周期以及跨不同应用程序和同一租户中的多个策略的单点登录行为。 Azure Active Directory B2C: Token, session and single sign-on configuration.
中描述了这些生命周期控件的配置和使用场景。
- 为用户颁发的 ID 令牌包含设置为用户的对象标识符的
sub
(主题)声明。此对象标识符的格式为 GUID 字符串。 ID 令牌在 Azure AD B2C: Token reference. 中描述
- 目前,本机应用程序必须通过系统浏览器登录用户,因为 Azure AD B2C 不支持 resource owner password credential grant (however work has started on a prototype of this grant). Authentication libraries, such as AppAuth for Android, AppAuth for iOS, and Microsoft Authentication Library for .NET implement the browser integration for you. They also implement "the best current practice [which] 是在外部用户代理(通常是浏览器)而不是嵌入式用户代理(例如使用网络视图实现的用户代理)。"
我正在考虑使用 Azure AD B2C 为我的 ASP.NET 带有 React 前端的核心应用程序以及在 Xamarin 中构建的本机应用程序的用户进行身份验证。
我的研究提出了几个问号:
- web/React 应用程序和本机应用程序都是同一个应用程序。他们必须使用相同的 App ID 并接入相同的用户数据库。是这样吗?
- 第 9 频道的一段视频表明,Azure AD B2C 假设用户的会话时间较短,而不是企业用户的会话时间较长。不确定如何解释这一点。什么是短会话,它的最大限制是多长时间?
- 假设经过身份验证的用户的令牌将 return 一个
GUID
值来识别用户是否安全?用户身份?或者是不同类型的ID? - 本机应用程序用户是通过内置浏览器登录还是直接从应用程序登录?我认为,必须切换到内置浏览器可能会降低用户体验。
- Web 和本机应用程序可以注册为同一应用程序,也可以注册为不同的应用程序,但无论哪种方式,它们都共享相同的用户目录。
- 第 9 频道的视频指的是最终用户访问,而不是应用程序会话,如果您是这样理解的话。 Azure AD B2C 使你能够控制令牌的生命周期、会话的生命周期以及跨不同应用程序和同一租户中的多个策略的单点登录行为。 Azure Active Directory B2C: Token, session and single sign-on configuration. 中描述了这些生命周期控件的配置和使用场景。
- 为用户颁发的 ID 令牌包含设置为用户的对象标识符的
sub
(主题)声明。此对象标识符的格式为 GUID 字符串。 ID 令牌在 Azure AD B2C: Token reference. 中描述
- 目前,本机应用程序必须通过系统浏览器登录用户,因为 Azure AD B2C 不支持 resource owner password credential grant (however work has started on a prototype of this grant). Authentication libraries, such as AppAuth for Android, AppAuth for iOS, and Microsoft Authentication Library for .NET implement the browser integration for you. They also implement "the best current practice [which] 是在外部用户代理(通常是浏览器)而不是嵌入式用户代理(例如使用网络视图实现的用户代理)。"