Выдача токенов в.NET Core с использованием встроенного промежуточного программного обеспечения
Я понимаю, что ASP.NET Core имеет сборку http://microsoft.aspnetcore.authentication.jwtbearer/, которую мы можем использовать для проверки токена. Однако я просто не могу понять, можно ли использовать встроенное промежуточное ПО ASP.NET Core для генерации токенов, как мы это делали с https://www.nuget.org/packages/Microsoft.Owin.Security.OAuth. Может кто-нибудь, пожалуйста, помогите мне уточнить следующие вопросы.
Можем ли мы генерировать и выпускать токены, используя Microsoft.AspNetCore.Authentication.JwtBearer, как мы это делали с Microsoft.Owin.Security.OAuth, например:
app.UseOAuthAuthorizationServer(oAuthServerOptions); app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
без написания собственного кода для генерации токена?
Если мы не можем сделать это с Microsoft.Owin.Security, есть ли какая-либо функциональность в https://www.nuget.org/packages/Microsoft.AspNetCore.Owin/, аналогичная Microsoft.Owin.Security.OAuth?
Является ли использование стороннего решения, такого как IdentityServer4, подходящим способом, если мы хотим использовать пользовательское хранилище в приложении, предоставить клиенту конечную точку для получения токена и использовать его для авторизации? Благодарю.
1 ответ
Можем ли мы генерировать и выпускать токены, используя Microsoft.AspNetCore.Authentication.JwtBearer, как мы это делали с Microsoft.Owin.Security.OAuth
Microsoft.AspNetCore.Authentication.JwtBearer
только о проверке токена JWT. И дело не в OAuth 2.0 и OpenID Connect, как это было в Microsoft.Owin.Security.OAuth
, Более того, по этой ссылке команда ASP.NET решила не портировать его.
Итак, реализовать OAuth 2.0 and OpenID Connect
Вам обязательно нужно использовать сторонний пакет.
Для базовых сценариев удобно использовать IdentityServer4
что вы упомянули или OpenIddict
как альтернатива.
Для более сложных сценариев я бы предпочел ASOS
который используется OpenIddict
, КСТАТИ, ASOS
разветвляется из промежуточного программного обеспечения OAuth2-сервера Katana.
Что касается Microsoft.AspNetCore.Owin
это не то же самое, что Microsoft.Owin.Security.OAuth
, Это просто адаптер для запуска промежуточного ПО OWIN в приложении ASP.NET Core и наоборот.