Jetzt benutze ich so etwas, um den Benutzer auf meiner Basis-Site zu authentifizieren:
if (Auth::attempt($request->only(['id', 'password']))) {
//
}
Wie kann ich diesen Code für die Verwendung einer benutzerdefinierten Spalte als Benutzername ändern? https://laravel.com/docs/5.3/passport#password-grant-tokens
Sie können die findForPassport-Methode in Ihrem Benutzermodell verwenden.
Diese Methode verwendet den Benutzernamen als Argument und gibt das Benutzermodell zurück
Beispielsweise:
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
// ... some code
public function findForPassport($username) {
return $this->where('id', $username)->first();
}
}
Ein bisschen zu spät, um zu antworten, aber es fällt mir schwer, das herauszufinden, also der Vollständigkeit halber und vielleicht um anderen in Zukunft zu helfen.
Wenn Sie sich diesen Teil des Passcodes ansehen, werden Sie feststellen, dass es sich auch um eine validateForPassportPasswordGrant
-Methode handelt. Zusätzlich zu Alexanders Antwort können Sie auf diese Weise einen Benutzer authentifizieren mit benutzerdefinierten Feldern.
Hoffe es hilft jemandem.