gpt4 book ai didi

authentication - 在微服务环境中,任何生产者都应该能够验证 JWT token 吗?

转载 作者:行者123 更新时间:2023-12-05 01:44:52 30 4
gpt4 key购买 nike

我正在尝试弄清楚如何在微服务环境中管理授权。

这是我的假设场景。

我有一项服务提供身份验证(使用 devise gem)和通过 oauth2 的授权(使用 doorkeeper gem)。登录后,该服务返回 JWT token 给用户。

现在假设我有两个 API 服务器。用户必须向这些 API 服务器提供 JWT token 才能访问私有(private)资源。

是否可以与我的两个 API 服务器共享我用来签署 JWT token 的 JWT key ,以便它们可以解码 token 并验证其有效性?还是我的 API 服务器应该将 JWT token 转发给授权服务并要求它进行验证?

与 API 服务器共享 JWT key 的优点:

  • 无需往返授权服务

与 API 服务器共享 JWT key 的缺点:

  • 如果有人入侵我的任何 API 服务器,他/她就可以访问我的 JWT key

我卡住了。我什至不知道是否还有我没有考虑过的第三种解决方案:)

谢谢!

最佳答案

您可以使用 PKI 签名/验证系统。在这种方法中,您的授权服务将使用私钥签署 JWT,所有消费服务都需要公钥才能使用 JWT。公钥可以很容易地分发——如果你的架构中有配置服务器,也许可以通过它。即使有人闯入了您的其中一项服务,他也只会拥有公钥而没有私钥。

关于authentication - 在微服务环境中,任何生产者都应该能够验证 JWT token 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44471051/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com