1

私はwebapiを持っており、認証が必要です。私はV1のAADでこれをやっています。Azure Active Directoryとのnetcore2認証: "署名が無効です"

私は郵便配達で、私はトークンを取得することができ、すべてのセットを持っていますが、私は、APIへのリクエストをしようとするたびに、それは私にエラー401与える:

ベアラーエラー=「invalid_token」を、ましたerror_description = "署名が無効である"

これはConfigurationServices上のコードである:

services.AddAuthentication(sharedOptions => 
    { 
     sharedOptions.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; 

    }) 
    .AddAzureAdBearer(options => Configuration.Bind("AzureAd", options)); 

これはアズール認証のために生成されたクラスである:

public static AuthenticationBuilder AddAzureAdBearer(this AuthenticationBuilder builder) 
     => builder.AddAzureAdBearer(_ => { }); 

    public static AuthenticationBuilder AddAzureAdBearer(this AuthenticationBuilder builder, Action<AzureAdOptions> configureOptions) 
    { 
     builder.Services.Configure(configureOptions); 
     builder.Services.AddSingleton<IConfigureOptions<JwtBearerOptions>, ConfigureAzureOptions>(); 
     builder.AddJwtBearer(); 
     return builder; 
    } 

    private class ConfigureAzureOptions: IConfigureNamedOptions<JwtBearerOptions> 
    { 
     private readonly AzureAdOptions _azureOptions; 

     public ConfigureAzureOptions(IOptions<AzureAdOptions> azureOptions) 
     { 
      _azureOptions = azureOptions.Value; 
     } 

     public void Configure(string name, JwtBearerOptions options) 
     { 
      options.Audience = _azureOptions.ClientId; 
      options.Authority = $"{_azureOptions.Instance}{_azureOptions.TenantId}"; 
     } 

     public void Configure(JwtBearerOptions options) 
     { 
      Configure(Options.DefaultName, options); 
     } 
    } 

ここには何が欠けていますか?助けてくれますか?

pcdevが彼のコメントで言ったように、あなたに

+1

で送信トークンを確認することができますか? 'Authorization Bearer <あなたのトークンはここに行く>というヘッダーがあるはずです。また、[この回答](https://stackoverflow.com/a/45833632/2869344)を見て、APIの設定に役立つかどうかを確認してください。 – pcdev

+0

はい、私はヘッダを持っています... – HLourenco

答えて

0

ありがとうあなたはすべての要求にAuthorizationヘッダーを追加していることを確認してください。

JWTトークンは、ドットで区切って3つの部分にする必要があります。署名は3番目の部分です。

あなたは、あなたがベアラトークンを送信する方法http://jwt.calebb.netまたはhttps://jwt.io

+0

それはうまくいかなかった、私は正しいヘッダを持っていたが、うまくいきませんでした。署名の最後に[署名]があります。それについてのもう一つのことは? – HLourenco

関連する問題