Я разрабатываю ASP. NET Core Web API, где пользователь входит через Steam.
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddAuthentication(options =>
{
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = SteamAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie()
.AddSteam(options =>
{
options.Events.OnAuthenticated = ctx => // Create user
});
// ...
}
На данный момент я использую повар ie, а также аутентификацию и авторизация работает нормально. Но я бы хотел использовать JWT. Если я просто заменю AddCookie
на AddJwtBearer
, я получу следующее исключение: The authentication handler registered for scheme 'Bearer' is 'JwtBearerHandler' which cannot be used for SignInAsync
.
В этом выпуске github он говорит, что мне нужен сервер OpenID Connect, но я не понимаю почему, потому что если бы я хотел написать JWT logi c сам, я мог бы сгенерировать токен в обратном вызове open id и вернуть его пользователю. Или я что-то упустил?