我想知道是否有人有一个例子来了解如何使用 Spring Cloud Security(使用 OAuth2)实现“令牌交换”技术。
目前,我已经在使用 ZuulProxy 的微服务环境中实现了“令牌中继”技术来“中继”OAuth2 令牌并实现 SSO。这很好,但意味着每个微服务都使用相同的 clientId(在 ZuulProxy 设置中指定,因为 ZuulProxy 仅使用 authentication_code 授权类型和提供的 clientId 中继令牌)。但是,对于内部微服务调用,我想“交换”令牌。这意味着在某些情况下,ZuulProxy 中继的令牌不是我需要用来验证/授权微服务 A 作为微服务 B 的客户端的令牌。
Spring Cloud 参考文档目前说:“在 Spring Boot 和 Spring Security OAuth2 的基础上,我们可以快速创建实现单点登录、令牌中继和令牌交换等常见模式的系统。” ( http://cloud.spring.io/spring-cloud-security/spring-cloud-security.html )
我想参考文档中的“令牌交换”是指 OAuth2 扩展的实现,在本规范中进行了解释,这基本上是我需要的: https ://datatracker.ietf.org/doc/html/draft- ietf-oauth-token-exchange-03
正如我所说,我了解如何使用 SSO 和令牌中继,但我无法在参考文档中看到有关如何实现“令牌交换”的进一步说明。我也找不到实现示例。
有谁知道我在哪里可以找到更多信息或示例?
非常感谢!