SPA UIとJwtベアラトークンを使用してアクセス制御を行うWeb APIを使用してアプリケーションを構築しようとしています。私はユーザーを認証し、ベアラトークンをWebリクエストに送信できますが、そうすると次のエラーが発生します。Azure AD Jwtベアラートークン
ベアラが認証されていません。失敗メッセージ:IDX10500:署名 検証に失敗しました。 署名を検証するセキュリティキーは提供されていません。
私は
https://login.microsoftonline.com/common/discovery/keys
でで見つかったキーセットを使用するミドルウェアにしたいが、私は明らかに何かが欠けています。以下は私の起動時にベアラトークンを設定するためのコードスニペットです。誰かが間違っているところを指摘できますか?
var clientId = Configuration["AzureAd:ClientId"];
var tenantId = Configuration["AzureAd:TenantId"];
var issuer = $"https://sts.windows.net/{tenantId}/";
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.RequireHttpsMetadata = false;
options.SaveToken = true;
options.Authority = "https://login.microsoftonline.com/common/";
options.TokenValidationParameters = new TokenValidationParameters()
{
ValidateIssuer = true,
ValidIssuer = issuer,
ValidateAudience = true,
ValidAudiences = new string[] { clientId },
ValidateLifetime = true
};
});
まったく同じ問題があります。 –
同じエラーを見て、私自身。 –