У меня есть следующие настройки, как описано:
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
};
});
Код: Выделить всё
"JwtSettings": {
"Issuer": "https://login.microsoftonline.com/089e76d9-be81-46e6-9249-325211a2cc67/v2.0",
"Audience": "5e7c53f0-527f-440c-8be2-34dccc1513ef",
"Key": "myRegisteredApplicationSecret"
}
и 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
Я попытался удалить эти Validate* tokenValidationParameters, чтобы проверить, не стал ли он менее строгим работает, но это не так.
Мой вопрос
- Я что-то упустил?
- Есть ли способ самому сгенерировать токен и посмотреть, смогу ли я заставить его работать с этим?
Подробнее здесь: https://stackoverflow.com/questions/788 ... and-client