我正在使用以下示例来玩Spring Cloud OAuth2实现:
https://github.com/spring-cloud-samples/authserver
https://github.com/spring-cloud-samples/sso
第一个是OAuth服务器,它在对用户进行身份验证时生成JWT令牌。第二个是正在消耗的资源。根据OAuth规范,资源将用户的身份验证中继到authserver。
所有似乎都运作良好,引出了其他问题:
答案 0 :(得分:1)
回答3):更改方法签名以包括:
@AuthenticationPrincipal User principal
这样,身份验证凭据将传递给Spring调用的控制器方法。另一种方式是通过安全上下文:
SecurityContext securityContext = SecurityContextHolder.getContext();
Authentication authentication = securityContext.getAuthentication();
至于2),我在这一点上的猜测是,为了影响用于计算JWT令牌的参数,需要实现自定义的AccessTokenConverter。如果我的理解是正确的,默认的一个名为DefaultAccessTokenConverter的人不允许这样做。我欢迎任何其他意见。