Questions tagged «jwt»


1
微服务应该是用户吗?
我们正在尝试确定授权微服务体系结构中用户的最佳方法,同时确保微服务的权限受到限制。我们的体系结构使用中央授权服务来处理JWT令牌的发行。 我们有以下要求: 应该限制​​用户执行某些角色。例如,用户只能创建/修改/读取他拥有的内容。 微服务应仅限于其所需的权限。例如,应该明确禁止只需要从另一个服务读取数据的微服务将数据写入该服务。 例如,假设我们有一个系统,用户可以在其中将图片上传到图像存储服务。我们有一个标记服务,可以自动标记带有位置的图片。用户只能CRUD他们自己的照片。标记服务可以从图像存储服务读取任何图像,但是不能修改/删除。 使用JWT令牌实现上述目标的好方法是什么?我们讨论过的一些解决方案是: 图像存储服务公开了2个API,一个在外部可用(给用户CRUD访问),另一个在内部可用(给内部只读访问)。似乎不灵活-如果另一项内部服务需要对所有图像进行读/写访问(例如,自动删除显式图像的访问),该怎么办? 我们在用户的JWT中设置了两个权限,一个权限是CRUD_OwnImages,另一个权限是READ_ForAnalysis。标记服务可以查看用户是否具有READ_ForAnalysis权限,如果有,则发出适当的请求。我们还有另一个微服务,用于检查用户是否具有CRUD_OwnImages以便对用户自己的映像执行CRUD操作。这使每个微服务都有责任确保用户受限于他需要的操作。图像存储无法用这种方法来限制每个微服务,因此它可能容易出错和出错。 我们给标签微服务自己的用户,并以READ_ForAnalysis作为权限。然后,当加标签服务从图像存储请求图像时,将授予它们访问这些图像的权限,但禁止对其进行修改。用户的用户仅具有CRUD_OwnImages权限,因此他只能从前端检索和访问其图像。如果另一个服务需要对所有数据使用CRUD,则可以给它CRUD_AllData或类似的名称。我们喜欢这种方法,因为每个服务现在都负责其自己的数据(而不是在多个服务之间重复该逻辑),但是如果该服务同时需要用户权限和微服务权限怎么办?我们可以安全地发送两个JWT令牌(用户的和微服务的)吗?有没有一种方法可以安全地组合权限并通过发送?例如 如果更下游(需要2或3个微服务)需要用户信息,则会使问题更加严重。我们是否只是假设将单个微服务限制在它们自己需要的动作上,而不是将其明确化,这取决于单个微服务?

1
jwt中“ aud”和“ iss”之间的区别
我想实现一个更强大的身份验证服务,这jwt是我要做的事情的很大一部分,而且我了解如何编写代码,但是在理解保留iss与aud声明之间的区别时遇到了一些麻烦。我知道,一个定义了颁发令牌的服务器,而一个则引用了打算使用的应用程序。但是我的理解是,我的听众和发行人是同一件事,myserver.com就是发行令牌,以便以后的人们myserver.com可以得到授权和认证。我想我看不到两种说法之间的区别,尽管我知道有一种。 有一篇很好的文章写在msdn 关于所有保留的索赔,这是我最困惑的地方,因为他们的发行人和受众完全不同。

2
Cookie vs.会话vs jwt
我正在阅读Web应用程序中的身份验证/授权。有人可以确认/纠正我目前的知识吗? Cookies:在其早期版本中,具有唯一客户端的文本文件会标识与该客户端有关的所有其他信息(例如角色) 会话:只有唯一的客户端ID在文件中发送(也称为Cookie),其他所有内容都存储在服务器上 JWT:所有内容都存储在令牌中(也可以存储在文本文件中,也称为Cookie) 感谢您的任何反馈!

2
JWT的有效载荷中应包括访问权限和角色吗?
JWT是否应包含有关客户端的权限和角色的信息? 在JWT令牌中具有此类信息将非常有用,因为每次有有效令牌出现时,都将更容易提取有关用户权限的信息,并且无需为此调用数据库。但是,将这样的信息包括在数据库中而不对它们进行仔细检查是否会带来安全问题? 要么, 诸如上述信息之类的信息不应成为JWT的一部分,而应该仅使用数据库来检查用户的访问角色和权限?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.