Laravel如何实现短信验证码登录,同时保留auth登录验证?
在保留传统通过用户名/邮箱 +密码的登录方式前提下,如何实现通过手机号加短信验证码进行登录,由于Auth::attempt()进行登录时,可以改变验证的字段,但无论换成什么字段进行登录,password字段是一直存在的,现需要通过手机号和短信验证码登录,如何绕开password同时保留auth方法,因为登录后很多有用到auth()->user()方法
在保留传统通过用户名/邮箱 +密码的登录方式前提下,如何实现通过手机号加短信验证码进行登录,由于Auth::attempt()进行登录时,可以改变验证的字段,但无论换成什么字段进行登录,password字段是一直存在的,现需要通过手机号和短信验证码登录,如何绕开password同时保留auth方法,因为登录后很多有用到auth()->user()方法
6 Comments
@readytan#1443 很简单啊 通过验证码验证通过后 直接登录该用户 你只需要绕开密码验证流程就好了 后面登录认证流程不变
@nonfu#1445 现在的问题是要在登录后使用auth()->user(),然而Auth::attempt()方法里如果不传password字段,会报错
[upl-image-preview url=http://static.forum.laravelacademy.org/assets/files/2018-02-08/1518052983-474377-qq20180208092024.png]
[upl-image-preview url=http://static.forum.laravelacademy.org/assets/files/2018-02-08/1518053005-527444-qq20180208092054.png]
问题已解决,原来auth还可以直接通过id登录[upl-image-preview url=http://static.forum.laravelacademy.org/assets/files/2018-02-08/1518058967-590978-33.png]
我的意思就是自己实现一个新的attempt 把密码验证逻辑改成验证码验证逻辑 其他不变
@readytan#1447 对这样也行
有没有详细的操作,我使用Auth::loginUsingid()进行直接登录的时候出现登录用户不正确的问题,希望给点意见