Entra OpenID — клиент не может подключиться к API, используя тот же центр авторизации и клиентC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Entra OpenID — клиент не может подключиться к API, используя тот же центр авторизации и клиент

Сообщение Anonymous »

Я следую информации из этого видео Ника Чапсаса на YouTube.
У меня есть следующие настройки, как описано:
API

Код: Выделить всё

builder.Services.AddAuthentication(a =>
{
a.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
a.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
a.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(b =>
{
b.TokenValidationParameters = new TokenValidationParameters
{
ValidIssuer = builder.Configuration["JwtSettings:Issuer"],
ValidAudience = builder.Configuration["JwtSettings:Audience"],
IssuerSigningKey = new SymmetricSecurityKey(
Encoding.UTF8.GetBytes(builder.Configuration["JwtSettings:Key"]!)),
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true
};
});
С помощью appsettings.json:

Код: Выделить всё

"JwtSettings": {
"Issuer": "https://login.microsoftonline.com/089e76d9-be81-46e6-9249-325211a2cc67/v2.0",
"Audience": "5e7c53f0-527f-440c-8be2-34dccc1513ef",
"Key": "myRegisteredApplicationSecret"
}
Где 089e76d9-be81-46e6-9249-325211a2cc67 — это (поддельный) идентификатор клиента.
и 5e7c53f0-527f-440c- 8be2-34dccc1513ef — это (поддельный) идентификатор клиента, зарегистрированного в EntraID.
Клиент
На данный момент я использую Postman, чтобы попытаться запустить аутентификацию. Как упоминал Ник, я вызываю свою конечную точку:

Код: Выделить всё

https://localhost:7049/WeatherForecast
И установите заголовок:
[img]https://i. sstatic.net/IxzP7fWk.png[/img]

Я скрыл все после ey, но это полный токен JWT, который я получил от моего коллеги по интерфейсу.Этот токен был запрошен при входе в систему от того же эмитента. В приложении Blazor WASM это определяется следующим образом:

Код: Выделить всё

{
"AzureAd": {
"ClientId": "5e7c53f0-527f-440c-8be2-34dccc1513ef",
"Authority": "https://login.microsoftonline.com/089e76d9-be81-46e6-9249-325211a2cc67/v2.0",
"ValidateAuthority": true
}
}
По словам моего коллеги, это должно работать, но я все равно получаю

Код: Выделить всё

401 Unauthorized
В результате моего запроса Postman.
Я попытался удалить эти Validate* tokenValidationParameters, чтобы проверить, не стал ли он менее строгим работает, но это не так.
Мой вопрос
  • Я что-то упустил?
  • Есть ли способ самому сгенерировать токен и посмотреть, смогу ли я заставить его работать с этим?
Есть ли хорошие источники о том, как правильно это настроить? Слишком многие заявляют о простом решении, но объясняют лишь 1/10 процесса. И собрать все воедино из всех существующих (и почти равных, но достаточно разных) вариантов очень сложно.


Подробнее здесь: https://stackoverflow.com/questions/788 ... and-client
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»