【发布时间】:2022-01-23 07:47:45
【问题描述】:
我现在正在实施基于微服务的架构。我在我的 UsersService(用于身份验证和授权的微服务)中使用FastAPI JWT Auth 来生成令牌,并在所有其他微服务中使用基本的 JWT 验证工具,以确保 JWT 是合法的(包括直接Revoked Tokens Redis 的访问权限)。
目前,我正在使用建议的架构,带有访问和刷新令牌。
我正在考虑不将 JWT 访问令牌直接暴露给客户端,而是实施一个 API 网关,在每个请求时将刷新令牌转换为 JWT .然后将 JWT 传递给内部微服务以确保边界内的安全性。
为此,客户端只需要访问刷新令牌,因为常规 JWT(生命周期极短)仅用于在内部对用户进行身份验证和授权。我计划在这些 JWT 中包含所有权限和范围信息,而刷新令牌将只有一个 user 有效负载。
我有两个问题:
- 这种架构会起作用吗?安全吗?
- 是否有推荐的 Python 框架来实现这样的 API 网关?
非常感谢! ????
【问题讨论】:
标签: oauth-2.0 jwt microservices fastapi refresh-token