Azure active directory 如何使用客户端发送的相同承载令牌,使用Azure Graph API针对SecurityGroup授权用户

Azure active directory 如何使用客户端发送的相同承载令牌,使用Azure Graph API针对SecurityGroup授权用户,azure-active-directory,azure-ad-graph-api,Azure Active Directory,Azure Ad Graph Api,我遵循这个示例,使用用户凭据(uname,pwd)根据Azure AD对用户进行身份验证,以获取承载访问令牌。此令牌将在授权标头中发送到Rest API。RESTAPI使用令牌来授权用户使用clainprincipal 现在,在我的RESTAPI中,我想验证用户是否属于特定的安全组。为此,我需要使用GraphAPI。但问题是,每次我将相同的承载令牌传递给我的Graph API(REST API已从客户端接收到该令牌),它都会抛出“访问令牌格式错误”错误 在一个示例()中,我发现我们需要重新生成一

我遵循这个示例,使用用户凭据(uname,pwd)根据Azure AD对用户进行身份验证,以获取承载访问令牌。此令牌将在授权标头中发送到Rest API。RESTAPI使用令牌来授权用户使用clainprincipal

现在,在我的RESTAPI中,我想验证用户是否属于特定的安全组。为此,我需要使用GraphAPI。但问题是,每次我将相同的承载令牌传递给我的Graph API(REST API已从客户端接收到该令牌),它都会抛出“访问令牌格式错误”错误


在一个示例()中,我发现我们需要重新生成一个新的承载令牌来调用图API,那么我是否需要重新生成一个新令牌来调用图API?我不能使用客户端发送给我的REST API的同一个承载令牌来调用Graph API吗?

令牌就像银行支票一样。为你开的支票只能由你兑现。如果要从web API调用该图,可以使用收到的令牌作为获取专门用于该图的新令牌的起点。请参阅,了解本例中使用的模式,您只需要用图形替换自定义API。

Hi Vittorio thx作为回复。正如我在前面的问题描述中提到的,我已经知道了这个示例代码,但我看到的问题是,我需要再次传递ClientID和AppSecret密钥来重新创建一个新的令牌,专门调用Graph API的isMemberOf函数来验证用户是否属于SecurityGroup。我发现的另一个解决方案是更新CloudService的清单,使其在承载令牌中包含组详细信息,但它似乎仅限于包含200个GroupsOry,我应该在我的回答中承认您确实查看了该示例。我的希望是,银行支票的类比将有助于从新的角度看待该样本——银行支票可能不如现金方便,但它们更安全。受众是您的服务的令牌不能被您的API以外的任何其他API接受。我没有提到团体作为声明,因为200个团体的上限要求你随时准备调用图表。谢谢你的回答@vibronet。需要你的帮助来验证我们是否在正确的轨道上。谢谢你的回答。需要你的帮助来验证我们是否在正确的轨道上。1.用户发送他的凭据(uname,pwd)以及其他细节,从Azure AD获取承载令牌(我们需要使用ADFS吗?如果我们决定使用它,那么Azure OAuth URL将是什么?)。用户通过将令牌包含为Auth头来调用RESTAPI。3.RESTAPI使用clainprinciple验证请求是否来自经过身份验证的用户。4.在RESTAPI内部,调用Graph API检查用户是否属于SecurityGroup。可以使用.pl、.py、js或REST客户端执行步骤1,2吗?