asp.net core Web API:并发使用 Roles 和RequiredScope

use*_*240 5 c# asp.net-core asp.net-core-webapi

我有一个带有 OAuth2 (Microsoft Identity) 的 WebAPI,我需要支持“客户端凭据流”(对于非交互式驱动的客户端,具有角色)以及“身份验证凭据流”(对于人工交互客户端,具有范围)。

如何使其与“MyRole”或“MyScope”一起运行?...当控制器基本上看起来像这样:

[Authorize(Roles = "MyRole")]
[RequiredScope("MyScope")]
public class MyController : ControllerBase
{
}
Run Code Online (Sandbox Code Playgroud)

我使用 .NET 6

Isr*_*cia 8

从版本 Microsoft.Identity.Web v1.25.1 开始,您拥有属性RequiredScopeOrAppPermission

[RequiredScopeOrAppPermission(
           AcceptedScope = new[] { "Scope1","Scope2" },
           AcceptedAppPermission = new[] { "Role1","Role2" })]
Run Code Online (Sandbox Code Playgroud)

更多信息请访问:https://learn.microsoft.com/en-us/dotnet/api/microsoft.identity.web.resource.requiredscopeorapppermissionattribute ?view=azure-dotnet