(я столкнулся с аналогичной ситуацией в .Net, так и в контексте того, что)
Нет, если вы используете OAuth вам не придется писать новый метод проверки маркера. Как OAuthBearerAuthenticationProvider сделать это за кулисами
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);
}
}
});
(по моему опыту). Но если вы хотите, есть возможность настроить поставщика в вашем «Автозагрузка» файл:
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { audience },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(issuer, secret)
},
Provider = new CustomOAuthBearerProvider()
});
«CustomOAuthBearerProvider» наследует интерфейс «IOAuthBearerAuthenticationProvider», который подпись для RequestToken() метод предопределены, и этот метод вызывается перед любая проверка для токена. Поэтому я думаю, вы можете использовать его для своих пользовательских операций проверки на токене, а затем отправить токен для проверки OAuth.