ASP.NET Core 5 mit ASP.NET Identity 3.0, verwende ich beide Webseiten und Apis. Ich benutze OpenIddict, um ein JWT-Token auszugeben und zu authentifizieren. Mein Code sieht aus, als solche:Autorisieren über JWT Token
X509Certificate2 c = new X509Certificate2(@"tokensign.p12", "MyCertificatePassword");
services.AddOpenIddict<WebUser, IdentityRole<int>, WebDbContext, int>()
.EnableTokenEndpoint("/api/customauth/login")
.AllowPasswordFlow()
.UseJsonWebTokens()
.AddSigningCertificate(c);
Wenn ich UseJsonWebTokens() zu deaktivieren, ich einen Token generieren und erfolgreich autorisieren. Ich bin jedoch nicht sicher, ob mein Zertifikat die zurückgegebenen Token validiert.
Und wenn ich UseJsonWebTokens aktivieren, kann ich ein JWT-Token an diesem Endpunkt ausgeben. Ich kann jedoch keine Anfrage authentifizieren!
Ich verwende den folgenden Code in der App-Konfiguration:
app.UseJwtBearerAuthentication(new JwtBearerOptions
{
AutomaticAuthenticate = true,
AutomaticChallenge = true,
RequireHttpsMetadata = false,
Authority = "http://localhost:60000/",
Audience = "http://localhost:60000/",
});
app.UseOAuthValidation();
app.UseIdentity();
app.UseOpenIddict();
app.UseMvcWithDefaultRoute();
- Wie kann ich die Anfrage erzwingen mit meinem Zertifikat validiert werden Token um sicherzustellen, dass die JWT ist nicht manipuliert.
- Was sind die korrekten Einstellungen, die Validierung und Autorisierung meines JWT-Tokens erlauben, wenn ich JWT nicht verwende, werde ich erfolgreich autorisiert.
Bitte Titel nicht in Frage stellen! http://StackOverflow.com/Help/Tagging – Tseng