JWT声称Azure AD令牌中的哪些内容可以安全地用于用户映射? [英] What JWT claims from Azure AD tokens can be safely used for user mappings?

查看:21
本文介绍了JWT声称Azure AD令牌中的哪些内容可以安全地用于用户映射?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们使用OAuth 2.0从Azure AD获取JWT令牌。在我们的应用程序中,我们使用‘UPN’声明的值来标识关联的内部用户名。

Azure AD Token ReferenceUPN声明记录为"用户主体名称",据我所知,这是遵循addr-spec格式的用户名(即用户@域)。这对于在Azure AD租户中创建的用户很有效。然而,令我惊讶的是,如果通过身份验证的用户是从不同的AD同步的,UPN声明似乎就不存在了。此行为似乎在任何地方都没有记录。

  1. 在哪里可以找到有关UPN保证位于令牌中的文档?
  2. 我可以使用哪些可靠的替代声明?最好是保证"用户/域"形式的声明,因为这与我们的模型最匹配。我考虑过以下几点:
    • UNIQUE_NAME:我只观察到它等于UPN,但我不确定它来自哪里。令人困惑的是,token reference表示:保证此值在租户中是唯一的,并且仅用于显示目的。(强调我的)
    • 电子邮件:这似乎也等于UPN,但同样,它是从哪里来的?在管理门户中,我尝试在与用户关联的每个电子邮件相关字段中设置不同的值,但似乎没有一个值传播到此声明。因此,此字段似乎不是电子邮件

我希望绝对确保我们的应用程序将能够处理Azure AD颁发的所有令牌,因此我不愿使用上面的任何声明,除非我有一些文档来解释它们的实际语义。

推荐答案

  1. 在哪里可以找到有关何时保证UPN位于令牌中的文档?

没有关于如何保证这一索赔的文件。根据测试,正如您所提到的,只有当用户不是外部用户时才会发布。

我可以使用哪些可靠的替代声明?最好是保证"用户/域"形式的声明,因为这与我们的模型最匹配。我考虑了以下几点:

我们可以使用oid声明来映射用户。此声明包含Azure AD中对象的唯一标识符。该值是不可变的,不能重新分配或重复使用。使用对象ID标识Azure AD查询中的对象。

如果您对Azure文档有任何反馈,您可以尝试提交右下角页面此页是否有帮助?中的反馈,以帮助改进文档。

这篇关于JWT声称Azure AD令牌中的哪些内容可以安全地用于用户映射?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆