JwtBearerOption.Audience के साथ IdentityServer4 ApiResource काम क्यों नहीं करता है?

Aug 18 2020

मेरे पास पहचानकर्ता में यह विन्यास है:

public static IEnumerable<ApiResource> ApiResources =>
        new ApiResource[]
        {
            new ApiResource
            {
                Name = "MyApi"
            }
        };

और ASP.NET कोर वेब एपीआई पर इस jwt विन्यास:

 services.AddAuthentication("Bearer")
       .AddJwtBearer("Bearer", options =>
       {
           //identity server
           options.Authority = "https://localhost:5001";

           //access token recepient
           options.Audience = "https://localhost:5001/resources";

           options.TokenValidationParameters = new TokenValidationParameters
           {
               ValidateAudience = true,
               ValidateLifetime = true,
           };
       });

मुझे उम्मीद है कि वेब एपीआई प्रमाणीकरण पहचानकर्ता से टोकन स्वीकार नहीं करेगा क्योंकि वेब एपीआई JwtBearerOption.Audience "MyApi" के बराबर नहीं है। लेकिन मेरे विन्यास में श्रोतागण केवल तभी मान्य होते हैं जब दर्शक "https: // localhost: 5001 / resource" पर सेट होता है और यदि मैं इसे "MyApi" पर सेट करता हूं तो अमान्य हो जाएगा

मेरे प्रश्न से संबंधित IdentityServer4 प्रलेखन।

जवाब

1 ToreNestenius Aug 18 2020 at 14:30

MyApi को दर्शकों की सूची में लाने के लिए आपको ApiScope को पहचानना होगा जैसा कि IdentityServer4 (v4.0x) में होगा

अधिक जानकारी के लिए इस लेख को देखें