Сейчас я занимаюсь разработкой проекта Microsoft .NET Core.У нас есть Azure AD, и мы хотим проверять запросы, поступающие ко всем микросервисам Apis.
Существует множество приложений, которые будут вызывать наши проекты веб-API.Каждое из этих приложений имеет свое собственное приложение (ClientId и секрет клиента).Они генерируют токен, используя свои данные, а затем отправляют его в заголовке при каждом запросе.(Никаких проблем до сих пор)
Со своей стороны я должен проверять токен с каждым запросом, но проверка должна работать для всех токенов, поступающих из разных приложений.
Итак, яя пытаюсь настроить JWTBarear на прием любого токена, но я немного потерян с конфигурацией:
services.AddAuthentication(o =>
{
o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(jwt =>
{
jwt.Authority = "https://login.microsoftonline.com/[myTenant]";
});
services.AddAuthorization(auth =>
{
auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder(JwtBearerDefaults.AuthenticationScheme)
.RequireAuthenticatedUser()
.Build());
});
и в настройке:
app.UseAuthentication();
app.UseMvc();
Но я получаю всегдаи 401. Я сгенерировал токен с помощью почтальона, и он действителен.
Я не очень хорош с конфигурациями.Я что-то пропустил?Все примеры, которые я видел в Интернете, используют ClientId, который у меня есть много, а не один.
PS Мне не нужно входить в систему или что-то в этом роде, мне нужно только проверить токен.
Спасибо!