Я относительно новичок в концепции middlewares. Я знаю, что промежуточное программное обеспечение вызывает следующее промежуточное программное обеспечение, когда оно завершается.Множественная аутентификация Middlewares ASP.NET Core
Я пытаюсь выполнить аутентификацию запроса с помощью Google или моего удостоверения личности. Пользователь может войти в мое мобильное приложение с помощью Google или локальной учетной записи. Однако я не могу понять, как использовать оба средства аутентификации. Если я передаю id_token для google, он переходит к первому промежуточному программному обеспечению (UseJwtBearerAuthentication
), но не работает во втором (UseIdentityServerAuthentication
). Как я могу сделать это так, чтобы он не выдавал ошибку, когда он фактически передает по крайней мере 1 промежуточное ПО для проверки подлинности? Например, если он передает первое промежуточное программное обеспечение, второе промежуточное программное обеспечение игнорируется?
app.UseJwtBearerAuthentication(new JwtBearerOptions()
{
Authority = "https://accounts.google.com",
Audience = "secret.apps.googleusercontent.com",
TokenValidationParameters = new TokenValidationParameters()
{
ValidateAudience = true,
ValidIssuer = "accounts.google.com"
},
RequireHttpsMetadata = false
});
app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions
{
Authority = "http://localhost:1000/",
RequireHttpsMetadata = false,
ScopeName = "MyApp.Api"
});
Попробуем решение 2, когда я вернусь домой и пометьте это как ответ после этого. Спасибо за ваш ответ. –