Laravel API Authentication: Personal Access Tokens

Are always long-lived.

Creating A Personal Access Client

Php artisan passport:client --personal
/**
 * Register any authentication / authorization services.
 *
 * @return void
 */
public function boot()
{
    $this->registerPolicies();

    Passport::routes();

    Passport::personalAccessClientId('client-id');
}

Managing Personal Access Tokens

$user = App\User::find(1);

// Creating a token without scopes...
$token = $user->createToken('Token Name')->accessToken;

// Creating a token with scopes...
$token = $user->createToken('My Token', ['place-orders'])->accessToken;

GET /oauth/personal-access-tokens

Axios.get('/oauth/personal-access-tokens')
    .then(response => {
        console.log(response.data);
    });

POST /oauth/personal-access-tokens

Const data = {
    name: 'Token Name',
    scopes: []
};

axios.post('/oauth/personal-access-tokens', data)
    .then(response => {
        console.log(response.data.accessToken);
    })
    .catch (response => {
        // List errors on response...
    });

DELETE /oauth/personal-access-tokens/{token-id}

Axios.delete('/oauth/personal-access-tokens/' + tokenId);

Laravel API Authentication: Personal Access Tokens — Structure map

Clickable & Draggable!

Laravel API Authentication: Personal Access Tokens — Related pages: