阅读(2797)
赞(7)
Laravel 8 自定义用户名字段
2021-07-09 12:59:40 更新
当使用密码验证时,Passport 会在模型中使用 email
属性作为「username」。不过,你仍然可以通过在模型中定义 findForPassport
方法来自定义验证行为:
<?php
namespace AppModels;
use IlluminateFoundationAuthUser as Authenticatable;
use IlluminateNotificationsNotifiable;
use LaravelPassportHasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
/**
* 通过给定的username获取用户实例
*
* @param string $username
* @return AppModelsUser
*/
public function findForPassport($username)
{
return $this->where('username', $username)->first();
}
}