无法向 Azure AD 应用程序注册添加委派权限

Unable to add a Delegated Permission to an Azure AD application registration

我是 Azure 的新手,但一直在尝试感受它。我已成功使用 Azure AD 通过应用程序权限保护 API。在 API 注册中创建应用程序角色的典型示例具有允许的应用程序成员类型,然后通过 API 权限 > 添加权限 > 客户端的应用程序权限 selecting 和授予应用程序注册。

接下来我想实施 OpenID Connect 身份验证和授权,我将角色授予用户而不是客户端 Web 应用程序。但是,未启用委派权限“选项卡”。我已确保在 API 中创建了一个应用程序角色,如下所示。我也尝试过将 allowedMemberTypes 设置为 Users only 的应用程序角色,但具有相同的禁用委托权限结果。

已禁用委派权限:

"appRoles": [
    {
        "allowedMemberTypes": [
            "User",
            "Application"
        ],
        "description": "Users and Applications with this role can consume the Pricing Model API",
        "displayName": "Pricing Model Cosumer",
        "id": "62d4b7d0-2e37-4a28-8918-098e3eabdc58",
        "isEnabled": true,
        "lang": null,
        "origin": "Application",
        "value": "PricingModel.Consumer"
    }
],

我已经搜索了几个小时,只找到了与“应用程序权限”选项被禁用相关的结果,对此的答案始终是验证在指定的 [=24= 中是否存在 select 的应用程序角色] 注册.

还有什么我可能遗漏的吗?有没有更合适的方式或地点问这个问题请告诉我。

appRoles 中未定义委派权限。您可以在应用程序注册的“公开 API”部分或在 oauth2Permissions 中添加它们。

add the scope in the app registration

公开委托权限(范围)

  1. Select 在申请注册中暴露一个API。**
  2. Select 添加范围。
  3. 如果出现提示,请选择“保存并继续”接受建议的应用程序 ID URI (api://{clientId})。
  4. 指定这些值:
  • Select 范围名称并输入 access_as_user.
  • Select 谁可以同意并确保管理员和用户被选中。
  • Select 管理员同意显示名称并以用户身份输入 Access xxxservice。
  • Select 管理员同意说明并输入 Accesses the xxx web API 作为用户。
  • Select 用户同意显示名称并以用户身份输入 Access xxx。
  • Select 用户同意说明并以用户身份输入访问 xxx 网站 API。
  • 保持状态值设置为启用。
  1. Select 添加作用域。

要在 oauth2Permissions 中定义委派权限,请参阅: https://joonasw.net/view/defining-permissions-and-roles-in-aad