如题,其实我是在接入jwt认证时调用$token=JWTAuth::attempt($credentials)或auth()->attempt($credentials)生成token时发现laravel源码认证相关的类里是写死了密码的字段名"password"的,比如:src\Illuminate\Auth\GenericUser.php文件里的getAuthPassword()方法,该方法是直接从本类的retrieveByCredentials方法里查到用户,并直接使用password名称的字段作来使用的。所以貌似要修改只能改这里?由于历史原因公司项目里的用户密码字段不是"password",想问下除了直接修改laravel框架原码外,还有别的方式能能实现码?比如在app目录通过配置或其它修改?求大神指教。
2 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
刚好,一模一样的问题,这个不是jwt是对内置的Auth一个介绍。php-Laravel:HowcanichangethedefaultAuthPasswordfieldname-StackOverflow补充一下注册模型的位置吧。vendor/laravel/framework/src/Illuminate/Auth/CreatesUserProviders.php:39
三国纷争
TA贡献1804条经验 获得超7个赞
$credentials=Arr::only($request->post(),['email','user_password']);JWTAuth::attempt($credentials);这样复写呢?相当于自定义了,代码用的laravel5.8的
添加回答
举报
0/150
提交
取消