有一个由Spring Security OAuth2保护的微服务。 Authorization_code
中的授权类型。应用程序列表为:
1- Zuul网关作为OAuth2客户端。
2- UAA(授权服务器)。
3到10微米作为资源服务器,并支持Zuul。
4- TokenStore是JdbcTokenStore。
每件事都按预期运行。
在资源服务器中,由于这些应用程序(如Micro)之间的不兼容以及序列化和反序列化的问题,用于检索UserInfo的是RemoteTokenServices
而不是DefaultTokenServices
,所以到任何资源服务器中都是:< / p>
security:
oauth2:
resource:
user-info-uri: http://localhost:9191/uaa/user
对我来说,有一个重要问题,为什么每个资源服务器都会为任何请求调用UAA ?(要查看源代码click me)不是最好在收到每个令牌的第一个请求后立即调用UAA,并且将主体存储在资源服务器中以供下一个对该令牌的下一个请求,直到不需要再次调用UAA为止。
另一方面,每个资源服务器在接收到对任何不同令牌的第一个请求后,只会立即调用UAA,并将其用于下一个请求吗?