現在、私はベースサイトのユーザーを認証するためにそのようなものを使用しています:
if (Auth::attempt($request->only(['id', 'password']))) {
//
}
ユーザー名としてカスタム列を使用するためにこのコードを変更するにはどうすればよいですか? https://laravel.com/docs/5.3/passport#password-grant-tokens
ユーザーモデルでfindForPassportメソッドを使用できます。
このメソッドは引数としてユーザー名を取り、ユーザーモデルを返します
例えば:
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
// ... some code
public function findForPassport($username) {
return $this->where('id', $username)->first();
}
}
答えるには少し遅すぎますが、完全を期すためと、将来的に他の人を助けるために、私はこれを理解しようとして苦労しています。
パスポートのコードのこの部分 を見ると、validateForPassportPasswordGrant
メソッドも検索していることがわかります。そのため、Alexanderの答えに加えて、ユーザーを認証する方法です。カスタムフィールドを使用します。
それが誰かを助けることを願っています。