【发布时间】:2016-08-11 20:19:57
【问题描述】:
在 System.IdentityModel.Claims 中有三个条目:UPN、Name 和 NameIdentifier "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" “http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn” "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"
在使用 AzureAD、OpenIdConnect 和 Office365 进行身份验证后进行调试时。我看到名称和 upn 总是相同的,看起来像给定用户的“电子邮件”:例如johndoe@contoso.com 或 johdoe@contoso.onmicrosoft.com 而 nameidentifier 是非人类可读的标识符。
那么,我确实有几个问题:
1) 'name' 和 'upn' 在我的上下文中是否总是相同的?
2) 它们是可变的吗?我们看到域名(或 upn)中出现了域名,这是否意味着如果 contoso.com 被 rototo.com 收购,则可以修改名称和 upn?或者类似地,如果公司在没有自定义域名的情况下开始其 Office365 订阅,但后来他们决定使用一个?这些声明的价值可能会改变?
3) 它与 2) 有关,但 NameIdentifier 是获取特定用户引用的唯一安全方法吗?例如作为外键存储在数据库中?
【问题讨论】:
标签: office365 azure-active-directory claims-based-identity