Несколько личностей в претензии с isauthenticated = false в jwtC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Несколько личностей в претензии с isauthenticated = false в jwt

Сообщение Anonymous »

Я работаю над проектом аутентификации/авторизации JWT, следуя этому руководству.

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

services.AddIdentityCore()
.AddRoles()
.AddEntityFrameworkStores()
//.AddClaimsPrincipalFactory()
.AddDefaultTokenProviders();

services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
services.TryAddScoped();
Первая проблема появляется, когда я буду двигаться вперед с действиями, например, ogout конечная точка не признает, что пользователь аутентифицируется, и претензии principal не является и показывает isauthenticated = false

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

public static async Task Logout(
SignInManager signInManager,
IJwtProvider jwtProvider,
ClaimsPrincipal principal)
{
if (!principal.Identity!.IsAuthenticated)
{
return TypedResults.Unauthorized();
}

await signInManager.SignOutAsync();

await jwtProvider.RevokeToken(principal);

return TypedResults.Ok();
}
< /code>
Однако я смог облегчить эту проблему, используя < /p>
options.DefaultAuthenticateScheme = IdentityConstants.ApplicationScheme
< /code>
вместо < /p>
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme
В Services.AddAuthentication раздел:

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

services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = IdentityConstants.ApplicationScheme;
//options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; 

Подробнее здесь: [url]https://stackoverflow.com/questions/79508268/multiple-identities-in-claimsprincipal-with-isauthenticated-false-in-jwt[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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