Comment utiliser Laravel Passport avec une colonne Nom d'utilisateur personnalisé
maintenant j'utilise quelque chose comme ça pour authentifier l'utilisateur sur mon site de base:
if (Auth::attempt($request->only(['id', 'password']))) {
//
}
Comment puis-je modifier ce code pour utiliser la colonne custom comme nom d'utilisateur? https://laravel.com/docs/5.3/passport#password-grant-tokens
2 réponses
Vous pouvez utiliser la méthode findForPassport dans votre modèle utilisateur.
cette méthode prend le nom d'utilisateur comme argument, et renvoie le modèle d'utilisateur
Par exemple:
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
// ... some code
public function findForPassport($username) {
return $this->where('id', $username)->first();
}
}
un peu trop tard pour répondre, mais j'ai eu du mal à comprendre cela, donc pour être complet et peut-être aider d'autres dans le futur.
Si vous prenez un coup d'oeil à cette partie du code du passeport vous verrez qu'il cherche aussi un validateForPassportPasswordGrant
méthode, donc en plus de la réponse D'Alexander, c'est comment vous pouvez authentifier un utilisateur en utilisant des champs personnalisés.
j'Espère que ça aide quelqu'un.