【发布时间】:2018-12-21 08:30:31
【问题描述】:
我一直在四处寻找并尝试对 .NET Core Identity (https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity?view=aspnetcore-2.1&tabs=visual-studio%2Caspnetcore2x) 和 Jwt(json Web 令牌)进行更多研究。我一直在我的 .NET Core 2.0 应用中使用默认身份作为身份验证/授权,到目前为止它运行良好。
我遇到了障碍,我认为这是我理解 .NET Core 身份和 jwt 的方式。我的应用程序有 MVC 和 web api。我理想地希望保护 web api,但我听说现在最好的方法是通过 jwt。好 - 酷。
我可以继续配置 jwt,然后将其用作我的身份验证/授权 (https://blogs.msdn.microsoft.com/webdev/2017/04/06/jwt-validation-and-authorization-in-asp-net-core/),但是 - 我是否需要继续并启动一个新服务器作为 jwt 的授权服务器?如果是这样,我不会那样做(太贵了)。
如果我确实使用 jwt,我的 .NET Core 身份代码会怎样?那是不是必须要走了?如果它可以共存,我如何使用 Identity 授权我的 MVC 页面并使用 jwt 授权我的 api 端点?
我知道这是一个开放式问题,但它的核心是:
.NET Core Identity 和 JWT 可以共存吗?还是我必须选择其中之一?我有 MVC 和 web api,并希望保护两者。
【问题讨论】:
-
你调查过这个吗? medium.com/@ozgurgul/…
-
您可以简单地使用
SignInManager验证用户的登录,使用UserManager获取声明,最后使用它创建一个JWT。 -
Two AuthorizationSchemes in ASP.NET Core 2 很好地涵盖了这一点。
标签: c# asp.net asp.net-mvc asp.net-core jwt