【问题标题】:How to get memberId from Azure token_id如何从 Azure token_id 获取 memberId
【发布时间】:2018-02-02 21:40:32
【问题描述】:

我需要检查组中是否存在经过身份验证的用户, 所以我们需要如下调用:

发布https://graph.windows.net/myorganization/isMemberOf?api-version

内容类型:application/json

{ "groupId": "5e624f44-d38d-4943-b07c-2bad078f52ff",

"memberId": "ea59e4d3-a7a1-4b5b-b65f-a25fcc0c0f99" }

用户通过身份验证后,我们从哪里获取 this.adalService.userInfo 的 memeberId。以下是我得到的回复,从下面的回复中是否有属于 memeberId 的任何属性。

【问题讨论】:

    标签: azure azure-active-directory


    【解决方案1】:

    绝对是用户的对象ID。在这种情况下,它是 oid 声明。在您的图片中:this.adalService.userInfo.profile.oid

    可以在此处找到有关 ID 令牌声明的更多信息:https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-token-and-claims#idtokens

    对象 ID

    包含 Azure AD 中对象的唯一标识符。此值是不可变的,不能重新分配或重用。使用对象 ID 来标识 Azure AD 查询中的对象。

    该功能可用于检查用户、组、联系人或服务主体的组成员身份。在所有情况下,memberId 都应该是相应对象的 objectId。

    虽然您似乎收到了groups 声明中的成员组,但为什么不使用它呢?

    【讨论】:

    • 嗨 Juunas,感谢您的解决方案,有时,我们得到 hasGroup=true,而不是 group。请查看此链接:github.com/AzureAD/azure-activedirectory-library-for-js/issues/…stackoverflow.com/questions/36780567/…)。
    • 对,如果用户有太多组,那么您必须从 API 中获取它们。
    • 嗨Juunas,我遇到了上述错误“您的访问令牌已过期,请在请求之前更新它”,目前我没有传递任何授权承载令牌,我们还需要传递承载令牌吗?
    • 是的,您需要将 API 的访问令牌作为Authorization: Bearer token-here 传递。
    • 嗨 Juunas,上面附上了 POST 人的图片,我尝试使用带有 POST 和 GET 的令牌,得到错误“访问令牌丢失或格式错误”,请帮助我,这个帖子还是 GET,如果有任何问题,请告诉我
    猜你喜欢
    • 2020-09-27
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 2023-03-31
    • 2018-12-17
    • 2021-09-08
    • 1970-01-01
    相关资源
    最近更新 更多