Mvc 上的 IdentityServer:AddJwtBearer 中的 Audience 指的是什么

Lit*_*nny 6 api audience microservices identityserver4

我已经在我的 api 网关中使用了我的应用程序的访问令牌。

var identityUrl = Configuration.GetValue<string>("urls:identity");
        services.AddAuthentication(options =>
        {
            options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;

        }).AddJwtBearer(options =>
        {
            options.Authority = Configuration.GetValue<string>("IdentityUrlExternal");
            options.RequireHttpsMetadata = false;
            options.Audience = "api1";              
            options.Events = new JwtBearerEvents()
Run Code Online (Sandbox Code Playgroud)

AddJwtBearer 中的受众选项是指什么。是指 ClientId 还是 ApiScope。目前,我基于我的移动应用程序设置上的范围与 api 网关进行通信。如果我更改为例如从移动设备(ro.client)发送的客户端 ID,我将无法访问授权的 api 功能。

我想清楚了解我的设置是否正确。谢谢

另外,如何在控制器下的ASP.net mvc core项目中添加Authorized Scope。

Mik*_*kel 3

以下链接将带您查看说明: http://docs.identityserver.io/en/latest/topics/apis.html

ApiName 属性检查令牌是否具有匹配的受众(或简短的 aud)声明。

在 IdentityServer 中,您还可以将 API 细分为多个范围。如果您需要这种粒度,可以使用 ASP.NET Core 授权策略系统来检查范围。