私はミドルウェアの概念に比較的新しいです。私はミドルウェアが完了すると次のミドルウェアを呼び出すことを知っています。複数の認証ミドルウェアASP.NETコア
Googleまたはアイデンティティ・サーバーを使用してリクエストを認証しようとしています。ユーザーは、Googleまたはローカルアカウントで自分のモバイルアプリにログインすることができます。しかし、私は両方の認証ミドルウェアを使用する方法を把握することはできません。 googleのid_tokenを渡すと、最初のミドルウェア(UseJwtBearerAuthentication
)を渡しますが、2番目のミドルウェア(UseIdentityServerAuthentication
)は失敗します。実際に少なくとも1つの認証ミドルウェアを通過したときにエラーをスローしないようにするにはどうすればよいですか?たとえば、最初のミドルウェアを通過する場合、2番目のミドルウェアは無視されますか?
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を試し、それを答えとしてマークします。ご返信ありがとうございます。 –