当前位置: 首页 > 知识库问答 >
问题:

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

傅元章
2023-03-14

我遵循这个示例https://github.com/azure-samples/active-directory-dotnet-native-headless使用用户凭据(uname,pwd)根据Azure AD对用户进行身份验证以获取承载访问令牌。此令牌将在授权头中发送到Rest API。REST API使用令牌使用ClaimPrincipal对用户进行授权。

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

在其中一个示例(https://github.com/azure-samples/active-directory-dotnet-webapi-onbehalfof/blob/master/todolistservice/controllers/todolistcontroller.cs)中,我发现我们需要重新生成一个新的承载令牌来调用Graph API,那么我需要重新生成一个新的令牌来调用Graph API吗?难道我不能使用客户端发送给我的REST API的相同的承载令牌来调用图形API吗?

共有1个答案

狄阳秋
2023-03-14

代币就像银行支票。为你开的支票只能由你兑现。如果您想从web API中调用图,您可以使用您收到的令牌作为获取专门用于该图的新令牌的起点。请参阅https://azure.microsoft.com/en-us/documentation/samples/active-directory-dotnet-webapi-onbehalfof/以了解在这种情况下使用的模式,您只需用图替换自定义API即可。

 类似资料:
  • 我有一个Web api终端,它给我JWT令牌。它不是一个完全授权的服务器。它只是可以生成一个JWT令牌。 现在我有另一个用 aspnet 核心编写的 Web 应用程序。其中在启动中.cs我添加了以下行,以便我可以使用收到的 JWT 令牌进行授权 我也有一个登录表单(在web应用程序中),用户输入用户名和密码,我发送到web api并获得令牌。为了保护web应用程序中的任何控制器,我只使用了[Aut

  • 我可以使用类似的代码和承载令牌进行GET,但似乎无法完成POST。 当我将Json、URL和承载令牌复制/粘贴到Postman中时,效果非常好。但从C#执行此操作时,会出现以下错误: “状态代码:400,原因短语:'错误请求',版本:1.1,内容:System.Net.Http.StreamContent,标题:{传输编码:分块连接:保持活动预期CT:最大年龄=604800,报告uri=”http

  • 是否可以使用来自Google API客户端Javascript库的承载令牌来授权Google云存储桶,而无需向用户请求https://www.googleapis.com/auth/devstorage范围。该桶具有对所有Google帐户的读写访问权限。

  • 头未与Apollo一起发送。这会导致 我需要在我的文件中对自己进行身份验证,该文件现在位于中 这对我来说有点麻烦。我不确定这是唯一的方法,但这是我的大脑带我去的地方。我正在将apollo.serverless.js`,以便能够访问Cookie中的承载令牌。 这可能就像我的apollo.client的设置不正确一样简单。 我正在直接测试链接,因为带区webhook将使用查询参数直接访问此url。 因

  • 我正在构建一个API,并使用Laravel Passport进行身份验证。 API正在用于我们的移动应用程序,因此我们正在使用密码授予客户端。 一切都很好,用户可以登录以获得访问令牌。我们创建了一个注册endpoint,允许用户注册。此时,我们也需要API返回访问令牌。 通过查看文档,无法通过编程方式创建访问令牌。 如何在控制器中为密码授予客户端创建访问令牌?我显然不想对自己的API执行HTTP请

  • 我想使用证书凭据将文件上载到s3。是否可以使用certifcate获取s3 bucket的客户机对象? 最初,我尝试使用下面的命令上传一个文件, 现在,我不想使用ACCESS_KEY | SECRET_KEY来创建客户机对象,因为它正在边缘设备上运行。相反,我已经生成了证书(IOT)。我想使用此证书创建客户端对象。因此,最后我有了临时访问权|密钥|秘密|会话|令牌。我想传递这些临时凭据以创建客户端