Closed zhuangqi closed 7 years ago
@zhuangqi 请求token的时候是需要同时带上username、password和OAuth2授权模式才能请求到token的。如果username和password不匹配是不可能能请求到令牌的。密码错误是直接返回错误的response的,即在请求token的时候就已经验证password了
如果你想获取当前登录的用户信息(已经登录后),可以用下面的代码:
CustomUserDetails currentUser = (CustomUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
@oneone1995 谢谢你解释了我的疑惑,你的做法是对的,或许我要重新整理下OAuth的思路
我看到用 向服务器请求令牌时: curl http://localhost:8080/oauth/token -X POST -u client:fucksecurity -d "grant_type=password&username=shawn&password=fucksecurity"
服务器UserDetailsService的loadUserByUsername中只根据用户名从数据库中查找出了该用户,然而并没有进行密码校验,请问如何获取请求令牌时的password
假设可以获取到password,获取password后在loadUserByUsername验证秘密,如果秘密错误抛出异常,这种做法对吗