我有一个配置了@EnableResourceServer注释的资源服务器,它通过user-info-uri参数引用授权服务器,如下所示:
security:
oauth2:
resource:
user-info-uri: http://localhost:9001/user
Run Code Online (Sandbox Code Playgroud)
授权服务器/用户端点返回的扩展名org.springframework.security.core.userdetails.User包含例如电子邮件:
{
"password":null,
"username":"myuser",
...
"email":"me@company.com"
}
Run Code Online (Sandbox Code Playgroud)
每当访问某个资源服务器端点时,Spring通过调用授权服务器的/user端点来验证后台的访问令牌,它实际上会返回丰富的用户信息(其中包含例如电子邮件信息,我已经使用Wireshark验证了该信息).
所以问题是如何在没有明确第二次调用授权服务器/user端点的情况下获取此自定义用户信息.Spring是否在授权后将其存储在资源服务器本地的某个位置,或者如果没有任何可用的开箱即用,那么实现此类用户信息的最佳方式是什么?
spring spring-security spring-boot spring-cloud spring-oauth2