Dies ist eine einfache "Web API 2" -App.ASP.NET API returns Die Berechtigung wurde für diese Anforderung auf localhost verweigert, funktioniert aber normal auf Azure
public void ConfigureAuth(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new TokenValidationParameters
{
SaveSigninToken = true,
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
},
});
}
Wie gezeigt, verwendet die Anwendung die WindowsAzureActive Directory-Authentifizierung und Autorisierung.
Beachten Sie, dass es normal funktioniert, wenn es in der Azure API-App veröffentlicht wird, verweigert jedoch immer die Anforderung in localhost.
Ich bin mir nicht sicher, was passiert ist, es hat früher funktioniert.
Grüße
Ja, ich habe herausgefunden, dass dies der Fall ist. Aber ich bin mir nicht sicher, ob ich das vollständig verstehe, denn auf Azure funktioniert es wie es ist. Aber localhost tut es nicht. Es funktioniert nur, wenn ich die Zielgruppe vom azurblauen Portal in die gleiche wie die App Uri ändere. Jetzt bin ich fest, dass Login von SPA fehlschlägt, da es die gleiche Zielgruppe wie die ClientId und nicht die App Uri benötigt. irgendwelche Ideen hier? –
Anstelle von validAudience, benutze bitte torknvalidationparameters.validaudiences (Plural) und füge dort sowohl die clientID als auch die App id uri hinzu – vibronet
Ich habe nicht gemerkt, dass das tatsächlich du bist; Danke und tolle Arbeit in AAD; erstaunliche Build-Sitzung –