del*_*ber 3 authentication authorization token jwt microservices
我正在尝试弄清楚如何在微服务环境中管理授权。
这是我的假设场景。
我有一项服务提供身份验证(使用devisegem)和通过 oauth2 授权(使用doorkeepergem)。登录后,服务会向用户返回JWT令牌。
现在假设我有两个 API 服务器。用户必须向这些 API 服务器提供 JWT 令牌才能访问私有资源。
是否可以与我的两个 API 服务器共享我用来签署 JWT 令牌的 JWT 密钥,以便它们可以解码令牌并验证其有效性?或者我的 API 服务器是否应该将 JWT 令牌转发到授权服务并要求其验证?
与 API 服务器共享 JWT 密钥的优点:
与 API 服务器共享 JWT 密钥的缺点:
我被困住了。我什至不知道是否有第三种解决方案我没有考虑:)
谢谢!
您可以使用 PKI 签名/验证系统。在这种方法中,您的授权服务将使用私钥对 JWT 进行签名,并且所有使用服务都需要公钥才能使用 JWT。公钥可以轻松分发 - 如果您的架构中有配置服务器,则可以通过配置服务器进行分发。即使有人闯入了您的一项服务,那么他也只有公钥而没有私钥。
| 归档时间: |
|
| 查看次数: |
740 次 |
| 最近记录: |