无法在Azure Ad OAuth保护的api中查看范围声明

问题描述 投票:0回答:1

我的api受“Azure AD OAuth 2.0”保护有问题。我们希望让我们的员工访问我们的api(无需任何最终用户互动/批准)

我曾经复制过this example,上次我尝试过,我可以从我的api代码中查看客户提出的索赔。现在我不能再说了。

.

这是我在azure中的设置

enter image description here

.

这就是我在ClaimsPrincipal.Current上看到的。 enter image description here

我期望看到两个范围的主张。我做错了什么或如何开始发现错误?

azure oauth-2.0 azure-active-directory claims-based-identity
1个回答
1
投票

好吧,简单地说,因为当应用程序代表用户调用API时,委托权限适用。您的方案中没有用户,因此只应用应用程序权限。

在这种情况下,您应该定义应用程序权限并将其授予您的应用程序。然后,您可以在roles声明中找到它们的值。

这是我关于这个主题的文章:https://joonasw.net/view/defining-permissions-and-roles-in-aad

以下是API清单中定义的示例权限:

{
  "appRoles": [
  {
    "allowedMemberTypes": [
      "Application"
    ],
    "displayName": "Read all todo items",
    "id": "f8d39977-e31e-460b-b92c-9bef51d14f98",
    "isEnabled": true,
    "description": "Allow the application to read all todo items as itself.",
    "value": "Todo.Read.All"
  }
  ]
}
© www.soinside.com 2019 - 2024. All rights reserved.