问题出在
DefaultUserAuthenticationConverter
Line:52行
this.userClaimName 为固定值 "user_name"
所以重写方法convertUserAuthentication时,把user_name也加进去就解决了。
private static class CustomerUserAuthenticationConverter extends DefaultUserAuthenticationConverter {
@Override
public Map<String, ?> convertUserAuthentication(Authentication authentication) {
LinkedHashMap<String, Object> response = new LinkedHashMap<>();
SysUserEntity userEntity = (SysUserEntity) authentication.getPrincipal();
response.put("user_id", userEntity.getId());
response.put("user_name", userEntity.getUsername());
if (authentication.getAuthorities() != null && !authentication.getAuthorities().isEmpty()) {
response.put("authorities", AuthorityUtils.authorityListToSet(authentication.getAuthorities()));
}
return response;
}
}
不看源码不行啊,唉