gpt4 book ai didi

javascript - 如何以 Angular 从 azure 事件目录获取用户的组名?

转载 作者:太空狗 更新时间:2023-10-29 19:33:21 25 4
gpt4 key购买 nike

使用 ng2-adal 连接到 azure 目录( https://github.com/mazhisai/ng2-adal-QuickStart )。我已成功登录并收到类似于此的组 ID --> "groups":["4ba2649e-20d2-40f4-a406-2ed897686403","43e19f05-c077-4716-b001-0ffb0d75fff8"].

如何使用 ng2-adal 从上述 token 中获取组名称(首选,因为我已经使用它完成了所有操作)

最佳答案

I have successfully logged in and received group id similar to this --> "groups":["4ba2649e-20d2-40f4-a406-2ed897686403","43e19f05-c077-4716-b001-0ffb0d75fff8"].

对于您的 Angular 应用程序,您正在使用 implicit flow 。 AFAIK,groups 声明位于 id_token 下,因为您可以看到 groups 声明,我假设当前登录用户所属的组数不超过 6或更多组。详情可关注Claims in id_tokens .

How can I get group name from the above token using ng2-adal(preferred since I've done everything using it)

groups 声明仅列出用户所属的有限数量的组。为了获取组名称,您需要显式调用相关的REST API( AD Graph > Get a groupMicrosft Graph > Get group )。

要检索access_token,您需要调用:

this.adalService.acquireToken(resource: string)

注意:对于 AD Graph API,您需要传递 https://graph.windows.net,而对于 Microsoft Graph API,您需要传递 https://graph.microsoft.com

我更喜欢使用 Microsoft Graph,请求如下所示:

GET https://graph.microsoft.com/v1.0/groups/{id}?$select=displayName
Header: Authorization:Bearer {access_token}

注意:如果groups声明不存在并且存在hasgroups声明,我假设当前登录的组号用户所属组超过限制,您可能需要调用Graph API获取当前登录用户所属的组。

关于javascript - 如何以 Angular 从 azure 事件目录获取用户的组名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49629465/

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