Ben*_*tra 4 claims-based-identity office365 azure-active-directory
在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)在我的上下文中,“名称”和“ upn”是否始终相同?
2)它们是可变的吗?我们看到域名(或upn)中存在域名,这是否意味着如果rototo.com收购了contoso.com,则可以修改名称和upn?还是类似地,如果公司在没有自定义域名的情况下开始其Office365订阅,但后来他们决定一个人订阅?这些索赔的价值可能会发生变化?
3)与2)有关,但是NameIdentifier是获取对特定用户的引用的唯一安全方法吗?例如要作为外键存储在数据库中?
参考用户名格式
第一个部分回答了第二个问题。UPN将根据域而变化。域是UPN后缀。名称是显示名称,除非您在将AD用户从一个域迁移到另一个域时指定规则,否则名称不能更改。
NameIdentifier是唯一的“用户的SAML名称标识符”。换句话说,它只是用户对象的ID。目的:当试图唯一地识别用户时,这应该是您的首选。
参考:
| 归档时间: |
|
| 查看次数: |
2288 次 |
| 最近记录: |