Я использую ASP.NET Core для обслуживания API для клиента Android. Android подписывается как учетная запись Google и передает JWT, токен идентификатора, в API в качестве токена-носителя. У меня работает приложение, оно проходит проверку подлинности, но я не думаю, что он проверяет подпись маркера.
В документах Google я могу называть этот url для этого: https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123, но я не могу найти соответствующие перехватчики на сервер для этого. Кроме того, согласно документам Google, я могу как-то использовать API клиентского доступа, чтобы делать это, не вызывая на сервер каждый раз.
Мой код конфигурации:
app.UseJwtBearerAuthentication( new JwtBearerOptions()
{
Authority = "https://accounts.google.com",
Audience = "hiddenfromyou.apps.googleusercontent.com",
TokenValidationParameters = new TokenValidationParameters()
{
ValidateAudience = true,
ValidIssuer = "accounts.google.com"
},
RequireHttpsMetadata = false,
AutomaticAuthenticate = true,
AutomaticChallenge = false,
});
Как мне получить промежуточное ПО JWTBearer для проверки подписи? Я близок к отказу от использования промежуточного программного обеспечения MS и откатыванию своих собственных.