Я изо всех сил пытался настроить и совместить аутентификацию с помощью Google, а также генерировать токены JWT в моем приложении и отправлять их клиенту. Тогда клиент авторизуется с использованием этих токенов.
Я уже правильно реализовал аутентификацию Google, но не могу понять, как получить данные пользователя от Google и сгенерировать эти JWT.< /p>
Я пытался проследить за ответом доброго пользователя в старой теме, но получаю ошибку:
Аутентификация обработчик, зарегистрированный для схемы «Bearer», — это «JwtBearerHandler», который нельзя использовать для SignInAsync
Поскольку он является источником скрытого процесса, я не могу отлаживать это, и я не могу понять, как это правильно настроить.
Буду признателен за любую помощь или совет!
Изменить: это мои регистрация служб:
builder.Services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(opt =>
{
opt.SaveToken = true;
opt.RequireHttpsMetadata = true;
opt.TokenValidationParameters = new TokenValidationParameters()
{
ValidateIssuer = false,
ValidateAudience = false,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidAudience = configuration["JWT:Audience"],
ValidIssuer = configuration["JWT:Issuer"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(configuration["JWT:Secret"]))
};
})
.AddGoogle(googleOptions =>
{
googleOptions.ClientId = configuration["Google:ClientId"]!;
googleOptions.ClientSecret = configuration["Google:ClientSecret"]!;
});
Подробнее здесь: https://stackoverflow.com/questions/788 ... horization
API.NET Web Api — аутентификация Google с авторизацией JWT ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение