首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular和Json Web标记

Angular和Json Web标记
EN

Stack Overflow用户
提问于 2019-05-11 00:45:24
回答 2查看 110关注 0票数 1

我有一个由angular应用程序使用的.net核心2.2API项目。为了保护API,我使用了JWT。API和SPA都是内部应用程序。

我正在使用具有资源所有者密码授权类型的IdentityServer4。我听说不推荐这样做,但每个用户都分配了不同的角色,这些角色必须放在JWT的角色声明中。这允许.net核心授权数据注释授予和限制对每个路由的访问。

我现在的流程是用户登录到SPA,SPA将凭据发送到API。API使用身份来验证凭据。在成功验证时,API向IdentityServer4发送请求以获取JWT,然后将其发送回SPA。然后将JWT保存到本地存储,以便在每次请求时使用。

我想知道我是否应该直接从IdentityServer4 (IS4可以访问身份上下文并验证un/pw)从SPA请求令牌?此外,我还忽略了流程中的任何其他主要缺陷。

EN

回答 2

Stack Overflow用户

发布于 2019-05-13 11:24:18

你最好把Implicit Flow和Angular一起使用。资源所有者密码授予需要您的应用程序读取用户名和密码,这存在可能会将密码暴露给攻击者的安全问题。

对于使用Implicit的实现,您可以参考this article

此外,您还可以将授权码与PKCE Flow一起使用:

对于基于

的应用程序,不再推荐使用Implicit。在PKCE中使用授权码。

票数 0
EN

Stack Overflow用户

发布于 2019-05-13 20:08:37

最初,我开始使用JWT token,但由于后来的一些复杂情况,我决定使用自定义token。有关更详细的解释,请阅读custom token

下图展示了我已经实现的请求处理流程:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56081743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档