Ich habe den IdentityServer v3 verwendet, jetzt möchte ich, dass eine Website sowohl der Identity-Host als auch der Web-API-Host ist.UseIdentityServerBearerTokenAuthentication funktioniert nicht für IdentityServer3
Die Berechtigungsoption wird nicht zur Validierung des Tokens verwendet. Ich habe den Token-Endpunkt verifiziert und der Token-Validierungsendpunkt funktioniert wie erwartet (ich kann ein Token mithilfe von Postman abrufen und validieren). Ich habe das [Authorize] -Attribut verwendet, um meine Controller-Methode zu dekorieren. Die vollständige Protokollierung ist auf dem IdentityServer aktiviert, es wird nichts protokolliert, wenn eine API-Anforderung mit dem Kopfzeilennamen "Authorization" mit dem Wert "Bearer mytokenhere" erstellt wird.
Dies ist eine vNext-Website auf ASP.NET 5 mit dem Visual Studio 2015 CTP6.
app.UseMvc();
var certFile = AppDomain.CurrentDomain.BaseDirectory + "\\myawesomesite.pfx";
app.Map("/core", core =>
{
var factory = InMemoryFactory.Create(
users: Users.Get(),
clients: Clients.Get(),
scopes: Scopes.Get());
var idsrvOptions = new IdentityServerOptions
{
SiteName = "Lektieplan",
Factory = factory,
RequireSsl = false,
SigningCertificate = new X509Certificate2(certFile, "lektieplan"),
CorsPolicy = CorsPolicy.AllowAll,
LoggingOptions = new LoggingOptions { EnableWebApiDiagnostics = true,EnableHttpLogging = true, IncludeSensitiveDataInLogs = true, WebApiDiagnosticsIsVerbose = true }
};
core.UseIdentityServer(idsrvOptions);
});
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = "http://localhost:57540/core",
RequiredScopes = new[] { "api1" },
});
Und mein project.json
Meine Abhängigkeiten:
"Microsoft.AspNet.Server.IIS": "1.0.0-beta3",
"Microsoft.AspNet.Mvc": "6.0.0-beta3",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta3",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta3",
"Thinktecture.IdentityServer3": "1.3.0.0",
"Microsoft.AspNet.Owin": "1.0.0.0-beta3",
"Microsoft.AspNet.Security.DataProtection": "1.0.0.0-beta3",
"Thinktecture.IdentityServer3.AccessTokenValidation": "1.2.2",
"Autofac": "4.0.0-alpha1",
"log4net": "2.0.3"
ich mir scheint, dass einige der zur Verfügung gestellten Proben aufgrund eines Cookies in Ihrem Browser Option funktioniert. Ich möchte die Cookies nicht verwenden.
Ich denke, die OWIN-Middleware für die Authentifizierung Konflikte mit der/Core-OWIN-Middleware, irgendwelche Hinweise, wie das zu debuggen? – Jacee
irgendwelche neuigkeiten? Funktioniert es jetzt? Ich möchte das Gleiche tun. – dknaack