AcquireToken返回的鉴权结果中的UniqueId字段是如何生成的。这个id对于其他租户中的国外用户来说是稳定的吗?例如,假设用户是在租户A中创建的,并且是租户B中的外部主体。当我使用租户A请求令牌时,我得到了具有特定uniqueId的新身份验证结果。然后,如果我为租户B创建了一个新的身份验证上下文,并使用与租户A相同的登录请求令牌。我得到了一个令牌,而uniqueId似乎是相同的。
这个uniqueId对于基于active directory的用户和基于live的用户都是稳定的吗?
我想确保这个行为是稳定的,可以用来确保我知道什么令牌与什么用户绑定,而不需要他们登录到哪个租户。
发布于 2014-08-22 05:40:55
ADAL根据STS返回的两个声明分配UniqueId属性的值。第一个'oid‘声明,如果它不存在,则使用'sub’声明。“‘oid”是用户的唯一标识符,但不幸的是,它并不总是可用的。例如,对于直通用户(例如MSA)。'sub‘声明是作为一对用户标识符和应用程序id生成的,所以如果应用程序发生变化,'sub’声明也会发生变化。这就是为什么我们不能保证UniqueId在应用程序和租户之间是唯一的。
https://stackoverflow.com/questions/25436165
复制相似问题