Użyłem serwera IdentityServer v3, teraz chcę, aby jedna witryna była zarówno hostem tożsamości, jak i hostem web api.UseIdentityServerBearerTokenAuthentication nie działa dla IdentityServer3
Opcja autoryzacji nie służy do sprawdzania tokena. Zweryfikowałem punkt końcowy tokenu, a punkt końcowy sprawdzania poprawności tokena działa zgodnie z oczekiwaniami (mogę uzyskać i zweryfikować token za pomocą listonosza). Użyłem atrybutu [Authorize], aby udekorować moją metodę kontrolera. Pełne logowanie jest włączone na serwerze IdentityServer, nic nie jest rejestrowane podczas wysyłania żądania api z nazwą nagłówka "Autoryzacja" z wartością taką jak "Na okaziciela mytokenhere".
To jest strona vNext na ASP.NET 5 przy użyciu CTP6 programu Visual Studio 2015.
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" },
});
A moja project.json
Moi zależności:
"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"
I wydaje mi się, że niektóre z dostarczonych próbek działa z powodu opcji opartego na cookie. Nie chcę używać plików cookie.
Sądzę, że oprogramowanie pośredniczące owin do uwierzytelniania konfliktów z oprogramowaniem pośredniczącym/core owin, jakikolwiek sposób debugowania tego? – Jacee
jakieś wiadomości? Czy to działa teraz? Chcę zrobić to samo. – dknaack