Пользователь не аутентифицирован, хотя вход в систему прошел успешноC#

Место общения программистов C#
Anonymous
Пользователь не аутентифицирован, хотя вход в систему прошел успешно

Сообщение Anonymous »

У меня есть два веб-приложения:
  • Web_App_A: обрабатывает аутентификацию
  • Web_App_B : само приложение.
После того, как пользователь успешно войдет в систему A (User.Identity.IsAuthenticated == true), я создаю токен доступа JWT, который передается B.
B получает JWT и может его прочитать, поэтому:
var UserFullName = claimsPrincipal.FindFirst("UserFullName")?.Value;

показывает правильное значение.
Проблема в том, что когда я проверяю статус аутентификации в B,
User.Identity.IsAuthenticated == false.

Оба имеют файл Program.cs, где эта часть одинакова:
// JWT Configuration
var jwtKey = builder.Configuration["Jwt:Key"]; // Read from appsettings
var jwtValidIssuer = builder.Configuration["Jwt:ValidIssuer"]; // Read from appsettings
var jwtValidAudience = builder.Configuration["Jwt:ValidAudience"]; // Read from appsettings

builder.Services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = jwtValidIssuer,
ValidateAudience = true,
ValidAudience = jwtValidAudience,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtKey)),
RoleClaimType = ClaimTypes.Role // Parse roles correctly from token
};
});


Подробнее здесь: https://stackoverflow.com/questions/790 ... successful

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