这个 Authentication/Authorization 微服务架构可行吗?
Will this Authentication/Authorization Architecture for Microservices work?
我正在设计一个基于微服务的架构。该体系结构应支持多个设备访问 API.
为了保护内部资源API,我想实现基于 JWT 和刷新令牌的身份验证和授权。
我的要求是:
- 防止攻击者使用XSS窃取用户令牌
- 防止 CSRF 攻击
- 边界内安全:即使攻击者可以向内部资源API发送请求,如果没有签名的JWT
- 通过单个内部 Users API
管理用户(身份验证和权限)
- 令牌可以随时撤销
- 通过 TOPT 支持多重身份验证
这是我带来的:
一些细节:
- JWT 真的很短暂(30 秒)
- 内部 API 网关 将包含一个端点(登录名),用于通过 用户API.
这种架构真的可行吗?会安全吗?
非常感谢你!
令牌实际上比 JavaScript 比纯 cookie 更难保护,我们有几种成熟的方法来保护 JavaScript(例如 Secure、HttpOnly、SameSite...)。
我认为您应该通过在移动设备和浏览器上到处使用相同的技术来降低架构的复杂性。由于这两种类型都被认为是不安全的 public 客户端。
另外,提示一下,探索现有应用程序如何使用 Fiddler 等工具处理此问题以捕获所有移动流量并探索它们如何处理登录、会话和注销可能会很有趣。
见https://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforios
我正在设计一个基于微服务的架构。该体系结构应支持多个设备访问 API.
为了保护内部资源API,我想实现基于 JWT 和刷新令牌的身份验证和授权。
我的要求是:
- 防止攻击者使用XSS窃取用户令牌
- 防止 CSRF 攻击
- 边界内安全:即使攻击者可以向内部资源API发送请求,如果没有签名的JWT
- 通过单个内部 Users API 管理用户(身份验证和权限)
- 令牌可以随时撤销
- 通过 TOPT 支持多重身份验证
这是我带来的:
一些细节:
- JWT 真的很短暂(30 秒)
- 内部 API 网关 将包含一个端点(登录名),用于通过 用户API.
这种架构真的可行吗?会安全吗? 非常感谢你!
令牌实际上比 JavaScript 比纯 cookie 更难保护,我们有几种成熟的方法来保护 JavaScript(例如 Secure、HttpOnly、SameSite...)。
我认为您应该通过在移动设备和浏览器上到处使用相同的技术来降低架构的复杂性。由于这两种类型都被认为是不安全的 public 客户端。
另外,提示一下,探索现有应用程序如何使用 Fiddler 等工具处理此问题以捕获所有移动流量并探索它们如何处理登录、会话和注销可能会很有趣。
见https://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforios