web-dev-qa-db-ja.com

Passport laravel createToken Personal access client not found

パスポートのセットアップ後、Register-Login-および-一般的な外部POSTリクエストのリソースへのアクセスを管理するコントローラーを構成および作成しました。特定のクライアントは必要ありません。しかし、登録またはログインでトークンを作成しようとすると:

$tokenObj=$user->createToken('APPLICATION')->accessToken;

エラーは:

RuntimeException:パーソナルアクセスクライアントが見つかりません。作成してください。ファイルC:\ xampp7.1\htdocs\passport\vendor\laravel\passport\src\ClientRepository.phpの94行目スタックトレース:1. RuntimeException->()C:\ xampp7.1\htdocs\passport\vendor\laravel\passport\src\ClientRepository.php:94 2. Laravel\Passport\ClientRepository-> personalAccessClient()C:\ xampp7.1\htdocs\passport\vendor\laravel\passport\src\PersonalAccessTokenFactory.php:71

どうすれば解決できますか?

18
DavidInTheIn

最初にアクセスクライアントを作成する必要があります。文書化されています ここ 。アクセスクライアントは、ユーザートークンと同じではありません。1つのアクセスクライアントと、さまざまなパスワードとトークンを持つ多くのユーザーを持つことができます。

11
namelivia

私にとっては実行することで解決しました

php artisan passport:install

それは私のデータベースをリフレッシュした後に起こったからです。

45

Nameliviaのコメントに加えて。 Laravel docによると:

アプリケーションが個人用アクセストークンを発行する前に、個人用アクセスクライアントを作成する必要があります。 --personalオプションを指定してpassport:clientコマンドを使用すると、これを行うことができます。 passport:installコマンドをすでに実行している場合は、このコマンドを実行する必要はありません。

php artisan passport:client --personal

しかし、コマンドを実行しなかった場合:

php artisan passport:install

最初に実行する必要があります。

12
Russell Sk.