php - please - Cómo usar Laravel Passport con una columna de nombre de usuario personalizada
laravel passport tutorial español (2)
Ahora estoy usando algo así para autenticar al usuario en mi sitio base:
if (Auth::attempt($request->only([''id'', ''password'']))) {
//
}
¿Cómo puedo modificar este código para usar una columna personalizada como nombre de usuario? https://laravel.com/docs/5.3/passport#password-grant-tokens
Puede usar el método findForPassport en su modelo de usuario.
Este método toma el nombre de usuario como argumento y devuelve el modelo de usuario.
Por ejemplo:
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
// ... some code
public function findForPassport($username) {
return $this->where(''id'', $username)->first();
}
}
Un poco demasiado tarde para responder, pero me ha costado mucho tratar de resolver esto, así que en aras de la integridad y tal vez ayude a otros en el futuro.
Si echa un vistazo a esta parte del código de pasaporte verá que también busca un método validateForPassportPasswordGrant
, así que además de la respuesta de Alexander, así es como puede autenticar a un usuario usando campos personalizados.
Espero que ayude a alguien.