是这样的, 我想在登录的时候传一个type,type=1就是短信验证码登录,type=2就是密码登录。框架的话是springboot security+jwt。本来是想着password当做密码或者验证码,依次来验证,但是我感觉这样怪怪的。。
不知道这应该如何做?请各位大神告诉我下方法或者思路都可以,谢谢
1 回答
互换的青春
TA贡献1797条经验 获得超6个赞
说实话,我感觉你这个设计是不太好的,传的type是不必要的,短信登录和密码登录前端用不同的字段传给传给后端,比如密码登录用字段password,短信验证码登录用smsCode 之类的,到了后端就只用一套security 去验证,并生成新的token,就像这样:
UsernamePasswordAuthenticationToken token =
new UsernamePasswordAuthenticationToken(mobile, password/SmsCode);
Authentication authentication = authenticationManager.authenticate(token);
略....
所以对于使用security jwt 去验证并不影响,而是后端要区分是密码登录还是验证码登录,如果是验证码登录,这一次登录成功后,那上一次的生成的验证码就应该失效,不能再用了。
希望可以帮到你,多交流!
添加回答
举报
0/150
提交
取消