gpt4 book ai didi

oauth-2.0 - 哪些来自 Azure AD token 的 JWT 声明可以安全地用于用户映射?

转载 作者:行者123 更新时间:2023-12-02 03:08:51 27 4
gpt4 key购买 nike

我们使用 OAuth 2.0 从 Azure AD 获取 JWT token 。在我们的应用程序中,我们使用了“upn”声明的值来标识关联的内部用户名。

Azure AD Token Reference文档 upn 声明为“用户主体名称”,据我所知,它是遵循 addr-spec 格式(即 user@domain)的用户名。这适用于在 Azure AD 租户中创建的用户。然而,令我惊讶的是, upn 如果经过身份验证的用户是从不同的 AD 同步的,则声明似乎​​消失了。这种行为似乎没有记录在任何地方。

  • 我在哪里可以找到有关何时 的文档upn 保证在 token 中?
  • 我可以使用哪些可靠的替代声明?最好保证声明为“用户/域”形式,因为这与我们的模型最匹配。我考虑了以下几点:
  • unique_name :我只观察到这等于 upn ,但我不确定它来自哪里。令人困惑的是,token reference说:这个值是 不是 保证在租户中是独一无二的,并且仅用于展示目的。 (强调我的)
  • 邮箱 : 这似乎也等于 upn ,但同样,它来自哪里?在管理门户中,我尝试在与用户关联的每个电子邮件相关字段中放置不同的值,但似乎没有一个值传播到此声明。因此,该字段似乎实际上不是电子邮件。

  • 我想绝对确定我们的应用程序将能够处理 Azure AD 发布的所有 token ,因此我对使用上述任何声明都犹豫不决,除非我有一些文档来解释它们的实际语义。

    最佳答案

    1. Where can I find documentation on when the upn is guaranteed to be in a token?


    没有关于如何保证此 claim 的此类文件。根据测试,如您所说,只有在用户不是外部用户时才发布。

    What are reliable alternative claims that I can use instead? Preferably claims guaranteed to be of the form "user/domain", as that matches our model best. I have considered the following:



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

    并且如果您对Azure 文档有任何反馈,可以尝试从 提交反馈。这个页面有用吗? 以帮助改进文档。
    enter image description here

    关于oauth-2.0 - 哪些来自 Azure AD token 的 JWT 声明可以安全地用于用户映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40972416/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com