I'm trying to set up my custom API with Passport (well, I'm already halfway through, just need to build my authentication). Whenever I'm trying to create a personal access token from my Passport dashboard (/home route), I get a 'Whoops, something went wrong!' error.
This comes from my Vue component (PersonalAccessTokens.vue), and my console logs me a 500 internal server error at the Post route for storing personal access tokens...
\Laravel\Passport\Http\Controllers\PersonalAccessTokenController@store is the method responsible but I can't seem to find something outof the ordinary as I did exactly follow the Laracasts video about Passport
Anyone else experiencing this problem ?
TIA!
To generate an access token for a single user, I am using below code to generate a token with name 'android'. $user = User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); // Here the access token will be stored in $token variable.
Custom API token lifetime By default, an access token for a custom API is valid for 86400 seconds (24 hours). We recommend that you set the validity period of your token based on the security requirements of your API.
From your home page, open user settings and select Personal access tokens. Select + New Token. Name your token, select the organization where you want to use the token, and then set your token to automatically expire after a set number of days. Select the scopes for this token to authorize for your specific tasks.
Laravel Passport is an OAuth 2.0 server implementation for stateless authentication.
I figured it out.
Apparently it can't read my personal access token client, that you should generate when setting up Passport by using the command: php artisan passport:install
Running this command solves my problem.
Reference: https://laracasts.com/discuss/channels/laravel/create-personal-access-token-in-laravel-passport-is-failing
A little more info on this as I've been having the same problem. You need to run:
php artisan passport:install
each time you refresh your migrations by doing:
php artisan migrate:refresh
To deal with this I've just added a script to package.json
which uses npm-run-all so I can do it in one command:
"scripts": {
// Other scripts
"migrate:refresh": "php artisan migrate:refresh",
"passport:install": "php artisan passport:install",
"db:refresh": "npm-run-all --sequential migrate:refresh passport:install"
}
Now I can just do:
npm run db:refresh
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With