Я настроил защищенную AAD asp. net core 3.1 Restapi веб-службу, выполнив следующие действия.
Зарегистрируйте приложение сервера (HelloWorld), а затем добавьте область действия.
Зарегистрируйте клиентское приложение (domino-client) и создайте секрет. Затем добавьте разрешение приложения сервера.
Добавление AAD-аутентификации в ядро asp. net. Я создаю проект api rest и делаю следующие изменения. (Config Auth связанные службы и промежуточное программное обеспечение. Config контроллер.)
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddAuthentication(o =>
{
o.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(o =>
{
o.Authority = "https://login.microsoftonline.com/{tenant_id}";
o.Audience = "a1faffea-24c6-42ff-9586-ee86ec7b8e80"; // server app client id
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthentication(); // Add aad auth.
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
[Authorize] // Enable auth.
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
private readonly ILogger<WeatherForecastController> _logger;
public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}
[HttpGet]
public IEnumerable<WeatherForecast> Get()
{
.....
}
}
Затем попробуйте использовать почтальон для доступа к API.
Некоторые пармы при доступе к токену.
- URL-адрес токена доступа: получен с Конечная точка
- Идентификатор клиента: идентификатор клиента клиентского приложения
- Секрет клиента: секрет клиентского приложения
- область действия: область приложения сервера
Howerer, я получаю 401 несанкционированная ошибка. Что-то не так с процессом?