angular - 使用 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 缺乏了解,但我已经阅读了一本书和几篇关于它的文章,但仍然不太明白。
我会很高兴收到一个解释性的答案!
解决方案
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 身份和角色表一起使用
推荐阅读
- excel - 相同的电子表格结构和公式,但数据不同
- php - 使用 Google Translation API 的批处理在文件结束前停止
- xml - 十六进制值不能包含在名称 vb.net 中
- python - Django - UpdateView - 空选择字段?
- oracle - XML 解析 PL/SQL
- sql - 根据日期计算某行与其他行的最大值之差
- php - Laravel 将路由转发到另一个路由文件
- python - 使用python删除字符串中指定索引位置的字符
- objective-c - 如何在 Objective-C 中检查一个字符串是否包含另一个字符串?字符串包含 URL
- c# - 在电子邮件中嵌入 HTML img 的附件