【发布时间】:2018-12-22 04:42:48
【问题描述】:
我们使用 Azure Active Directory(OpenId 和 OAuth2)来满足授权和身份验证需求。 我们还希望将用户的个人资料保存在我们的一个微服务中,让我们将此服务命名为“用户首选项”。 该服务将存储仅我们的一种产品所需的许多特定字段,这就是我们不想将它们存储在 Active Directory 中的原因(自定义字段)。
有了所有这些,我们正在寻找可用于将用户配置文件连接到 Active Directory 帐户的最佳 Azure AD 字段。
有几个候选人:
- UPN - 在某些情况下 JWT 不包含它
- ObjectId - 始终可用,但不易于阅读且在多租户结构中是唯一的
- 唯一名称 - 仅用于在 UI 上显示(Azure 推荐)
您能否为我们的案例推荐最佳领域?
【问题讨论】:
-
对象 id 或名称标识符(子声明)是您可以选择的唯一不可变字段。使用 UPN 很危险,因为它可以更改。
-
@juunas 它在所有相互连接的活动目录中是唯一的吗?
-
@juunas,如果您可以提供一个链接,其中包含可以更改 UPN 的一些示例,这将非常有用
-
对象 id 在目录中是唯一的,但如果您支持多个租户,您也应该存储租户 id (tid)。
-
另外,如果用户作为访客被邀请到其他 AAD 租户,他们每个目录都会有一个对象 ID,它不会是相同的。
标签: azure active-directory azure-active-directory microservices