(I konfrontiert ähnliche Situation in .Net, so in Zusammenhang mit, dass)
Nein, wenn Sie oauth verwenden Sie keine neuen Validate Token Methode zu schreiben. Wie OAuthBearerAuthenticationProvider tun dies hinter den Kulissen
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { audience },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(issuer, secret)
},
Provider = new OAuthBearerAuthenticationProvider
{
OnValidateIdentity = context =>
{
context.Ticket.Identity.AddClaim(new System.Security.Claims.Claim("newCustomClaim", "newValue"));
return Task.FromResult<object>(null);
}
}
});
(nach meiner Erfahrung). Aber wenn Sie möchten, gibt es Option Provider konfigurieren in Ihrem „startup“ file:
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { audience },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(issuer, secret)
},
Provider = new CustomOAuthBearerProvider()
});
„CustomOAuthBearerProvider“ erbt „IOAuthBearerAuthenticationProvider“ Schnittstelle, die Signatur für RequestToken vorgegeben hat() -Methode, und diese Methode wird aufgerufen, bevor jede Validierung für Token. Ich denke, Sie können es für Ihre benutzerdefinierten Validierungsvorgänge in Token verwenden und dann das Token für die OAuth-Validierung senden.