gpt4 book ai didi

Azure AD OAuth 客户端凭据授予流程

转载 作者:行者123 更新时间:2023-12-03 02:48:49 25 4
gpt4 key购买 nike

尝试为我的 Web API 设置 Azure AD OAuth 客户端凭据授予流程。我正在关注 https://learn.microsoft.com/en-us/azure/active-directory/develop/v1-oauth2-client-creds-grant-flow 中的文档。我必须将我的 API 公开给第三方。我已经在 Azure AD 中创建了应用程序(这是针对请求我的 API 的客户端),生成了 secret 并能够从 oauth2/token 端点获取响应。我的问题如下:

  1. 验证 token 的最佳方式是什么?是通过JWT吗 (不记名 token )作为我的 API 的 HTTP header ,然后使用 SDK 验证 token (System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler)?我在用着 C#。
  2. Azure AD -> 应用程序注册 -> “我的 API 应用程序”-> 在“管理”下,公开 API?它有一个选项 “授权客户端应用程序”。我怎样才能使用这个功能 有条件地阻止和批准客户端应用程序?

  3. 我必须与第 3 方共享 key 、客户端 ID 和 App Id Uri,以便他们生成 token ,并且我将在收到 token 时对其进行验证。

最佳答案

你走在正确的道路上。

这个答案,Azure AD OAuth client credentials grant flow with Web API AuthorizeAttribute Roles ,将引导您完成一种方法,即使用 token 中的 roles 声明来授权调用。

您需要:

  • 定义角色
  • 为每个第 3 方创建应用注册
  • 将他们的申请分配给您所需的角色

然后您可以使用AuthorizeAttribute映射哪些角色可以执行哪些 Controller /操作,如下所示:

[Authorize(Roles = "Reader,Requester,Editor,Approver,Administrator")]

关于Azure AD OAuth 客户端凭据授予流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57190250/

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