Saya memiliki webapi dan saya perlu memiliki otentikasi, saya melakukan ini dengan AAD di V1.
Saya sudah siap, dengan tukang pos saya bisa mendapatkan token, tetapi, setiap kali saya mencoba membuat permintaan ke api, saya mendapat kesalahan 401:
Bearer error="invalid_token", error_description="Tanda tangan tidak valid"
ini adalah kode pada ConfigurationServices:
services.AddAuthentication(sharedOptions =>
{
sharedOptions.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddAzureAdBearer(options => Configuration.Bind("AzureAd", options));
ini adalah kelas yang dihasilkan untuk otentikasi Azure:
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);
}
}
Apa yang hilang di sini? bisa tolong bantu?
Terima kasih
Authorization Bearer <your token goes here>
. Lihat juga jawaban ini untuk melihat apakah ini membantu Anda dengan konfigurasi API. - person pcdev   schedule 27.09.2017