Я тестирую на своем сайте, и он работает хорошо, вы можете обратиться к следующим шагам:
1. Зарегистрируйте приложение Webapi в azure ad.
2.Щелкните Expose an API
и Add a scope
например webread
.
3. Нажмите Manifest
, измените accessTokenAcceptedVersion
на 2.0
.
4. В visual studio webapi ConfigureServices
:
services.AddAuthentication(AzureADDefaults.JwtBearerAuthenticationScheme).AddAzureADBearer(options => Configuration.Bind("AzureAd", options));
services.Configure<JwtBearerOptions>(AzureADDefaults.JwtBearerAuthenticationScheme,
options =>
{
options.Authority += "/v2.0";
options.TokenValidationParameters.ValidAudiences = new[]
{
options.Audience,
$"api://{options.Audience}"
};
});
5. Зарегистрируйте клиентское приложение в azure объявление.
6.Щелкните Authentication
, установите Default client type
как Yes
.
7.Нажмите Api Permission
> Add a permission
, выберите My APIs
и выберите веб-интерфейс, который вы зарегистрировали ранее.
8. В клиентском приложении Visual Studio установите область с помощью веб-чтения:
string[] scopes = new string[] { "api://1890e822-xxxxxxxxxxxxxxxx/webread" };
Надеюсь, это поможет вам.