0

假设我在 Auth 服务器上注册了 2 个服务:

  1. 服务 A,带有client-id=service-a-idclient_secret=service-a-secret
  2. 服务 B,带有client-id=service-b-idclient_secret=service-b-secret

Auth Server 发出 JWT

现在服务 A 想要调用服务 B 并使用client credentials流。哪些服务应该client_secret与另一个服务共享它的共享?如果 Service A 使用自己的 secret 向 auth server 发送请求并获取令牌,那么service-a-secret应该与 Service B 共享,以便它可以验证 JWT 签名?

我很迷失方向,因为secret假设除了身份验证服务器和所有者应用程序之外不与任何人共享。但是,如果服务 B 想在不调用 Auth Server 的情况下验证令牌,它应该怎么做。

4

1 回答 1

0

好的,事实证明 Auth Server 使用自己的密钥对 JWT 进行签名,您不需要知道任何人的秘密来验证 JWT。虽然很明显,但从参考资料中对我来说并不是很明显。

因此,client_secret除了 Auth Server 和 Application 之外,不得与拥有其秘密的任何人共享。

于 2021-01-14T14:17:17.510 回答