2017-10-28 1 views
5

Ich habe eine Asp.Net Core 2.0 WebAPI, die gegen AAD Authentifizierung ist:Wie legt man mehrere Zielgruppen in Asp.Net Core 2.0 "AddJwtBearer" Middleware?

  services.AddAuthentication(options => { options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; }) 
       .AddJwtBearer(options => 
          { 
           options.Authority = "https://login.microsoftonline.com/TENANT.onmicrosoft.com"; 
           options.Audience = "CLIENT_ID"; 
          }); 

das Token von AAD My SPA App bekommt und schickte es als bearer Header. Alles funktioniert gut.

Ich habe einen Job in Azure Scheduler erstellen und Setup Active Directory OAuth: Job - Active Directory OAuth

Nach Ausführen eines Jobs ich diesen Fehler: Bearer error="invalid_token", error_description="The audience is invalid".

Wenn ich options.Audience in AddJwtBearer(...) auf https://management.core.windows.net/ setze, funktioniert der Job aber nicht das SPA.

Ich denke, ich brauche Audience auf ein Array ['CLIENT_ID', "https://management.core.windows.net/"] zu setzen, sondern die options.Audience ist Art von string. Wenn ich Audience überhaupt nicht festlegen, funktionieren Spa und Job nicht (401 nicht authentifiziert). Die Einstellung Audience auf CLIENT_ID,https://management.core.windows.net/ funktioniert auch nicht.

Gibt es eine Möglichkeit, mehrere Zielgruppen in AddJwtBearer zu aktivieren?

Antwort

8

Ich denke, ich lief auf das gleiche Problem wie Sie. Damit es funktioniert, habe ich die Zielgruppe von options in die TokenValidationParameters verschoben, die mehrere Einträge akzeptiert. Überprüfen Sie den folgenden Code:

.AddJwtBearer(options => 
{ 
    options.Authority = "https://login.windows.net/trades.no"; 
    options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters 
    { 
     ValidateIssuer = true, 
     ValidAudiences = new List<string> 
     { 
      "AUDIENCE1", 
      "AUDIENCE2" 
     } 
    }; 
+0

Das ist genau das, was ich gesucht habe. Funktioniert. Vielen Dank. –

Verwandte Themen