无法获取Azure广告用户';s组
我目前正在使用node.js passport库使用OIDC策略对azure注册的应用程序进行身份验证,该应用程序使用客户端ID和密码无法获取Azure广告用户';s组,azure,azure-active-directory,passport.js,microsoft-graph-api,azure-ad-graph-api,Azure,Azure Active Directory,Passport.js,Microsoft Graph Api,Azure Ad Graph Api,我目前正在使用node.js passport库使用OIDC策略对azure注册的应用程序进行身份验证,该应用程序使用客户端ID和密码 http://login.microsoftonline.com/{org id}/v2.0/.well-known/openid-configuration 我在获取登录者的用户配置文件方面没有任何问题,但在获取群组时,我遇到了麻烦。在我的应用程序中,我需要根据用户的active directory组对其进行授权。我正在取回这段json: "_claim_n
http://login.microsoftonline.com/{org id}/v2.0/.well-known/openid-configuration
我在获取登录者的用户配置文件方面没有任何问题,但在获取群组时,我遇到了麻烦。在我的应用程序中,我需要根据用户的active directory组对其进行授权。我正在取回这段json:
"_claim_names\":{\"groups\":\"src1\"},\"_claim_sources\":{\"src1\":{\"endpoint\":\"https://graph.windows.net/{org guid}/users/{user guid}/getMemberObjects\"}}
我不确定我需要做什么,用这个来获得团体。我尝试生成一个承载令牌,将其传递到一个头中,然后获取组,但它说我未经授权使用Postman。我是否需要应用程序中的某些权限?另外,当我尝试使用graph.microsoft.com时,为什么要使用graph.windows.net
一旦用户登录,是否有更简单的方法来完成此操作?当用户是多个组的成员时,超龄指示器声明 作为讨论中的json共享的一部分,您得到的声明是一个超龄指示器声明
"_claim_names\":{\"groups\":\"src1\"},\"_claim_sources\":{\"src1\":{\"endpoint\":\"https://graph.windows.net/{org guid}/users/{user guid}/getMemberObjects\"}}
这意味着用户是许多组的成员,您需要单独查询这些信息,而不是将所有组的信息作为令牌的一部分(这会使令牌太大)
请在此处阅读更多信息:
如何获取群组信息?
您的应用程序需要单独调用Microsoft Graph API
,以获取用户的组信息
相关的Microsoft Graph API
Graph.windows.net
)与Microsoft图形API(Graph.Microsoft.com
)
您有一个关于端点的有效问题。。“还有,当我尝试使用graph.microsoft.com时,为什么要使用graph.windows.net?”
一般建议使用较新的Microsoft Graph API,除非您要查找的功能/信息在Microsoft Graph中不可用,并且只有Azure AD Graph API可以提供帮助。请在此处阅读有关推荐和比较的更多信息:
由于有关组的信息已在v1 endpoint for Microsoft Graph(非测试版)中提供,因此您应该使用Microsoft Graph API
以下是一些相关的SO帖子:我认为你得到的是一个超龄索赔。。表示该用户是多个组的一部分。。你可以在这里读到更多关于它的内容。。关于下一步如何为用户获取有关组的信息。。Microsoft Graph API将非常有用,因为您将能够绕过因令牌大小而导致的超龄情况。。这里的SO帖子中也有类似的讨论。。1) 2)一旦我/授权,我得到一个代码,我将代码传递到/token,然后得到一个token。那么我可以使用令牌来调用graph api吗?另外,我读到有一个刷新令牌,这是我需要存储的东西吗?我看到它出现过一次,但我现在无法获取它,它给了我一个错误“OAuth2授权代码已被兑换,请使用新的有效代码重试,或使用现有的刷新令牌”,因此我不确定如何再次获取令牌。谢谢,我要找什么类型的示波器?我将查看代码示例