首页 > 解决方案 > 使用 ASP.NET Core 3 进行 SPA 身份验证的正确方法是什么?

问题描述

带有身份验证的新ASP.NET Core 3 Angular项目模板使用 Identity Server 和 OIDC 进行身份验证。到目前为止,我一直为我的 Angular SPA 使用简单的 JWT-Authentication。

现在我的问题是:如果您想使用 Angular 应用程序的登录页面,实现身份验证的正确方法是什么?

所以我已经在我的 Angular 应用程序中实现了一个登录页面,我想使用它。据我所知,Identity Server 的 OIDC 工作流程总是使用服务器上生成的登录页面。就我而言,我应该继续使用简单的 JWT-Authentication,还是可以将我的 Angular 登录页面与 Identity Server 一起使用?

我很确定问题在于我对 OIDC 缺乏了解,但我已经阅读了一本书和几篇关于它的文章,但仍然不太明白。

我会很高兴收到一个解释性的答案!

标签: angularasp.net-coreoauth-2.0jwtopenid-connect

解决方案


OIDC 和 JWT 都是无状态认证的具体行业标准。

无状态身份验证将用户会话数据存储在客户端

OAuth 是与 3rd-party 应用程序(例如 google 或 github)更直接的集成,但我认为 JWT 更容易实现和操作。

但是您不必强制使用 Identity 或 Identity Server,您还可以实现您的个人表进行身份验证,但是要回答您的问题,是的,您可以将 IdentityServer 与 JWT 一起使用:http ://docs.identityserver.io/en/最新/主题/apis.html

我将 Angular 8 和 net.Core 3 Web Api 与 JWT 和 Microsoft 身份和角色表一起使用


推荐阅读