3
2

More than 3 years have passed since last update.

Laravel PassportでPersonal Access Tokenを使う場合の有効期限設定

Posted at

概要

LaravelでAPIを構築する場合の認証基盤として、Laravel Passportを使用するケースもあると思います。Laravel Passportの認証方法の一つであるPersonal Access Tokenでの認証について、取り上げます。

Laravel Passportの概要とPersonal Access Tokenに関して

@zaburoさんのLaravel Passportの使い方まとめの記事にざっくりとした概要と、Personal Access Tokenの実装サンプルが紹介されています。
Personal Access Tokenは認証後にユーザに対し、アクセストークンを発行しこのトークンを用いて、認証済みかの判定を行います。

Tokenの有効期限に関して

Laravel Passportのクライアント認証を試してみるの記事にある通り、AuthServiceProviderにtokenの有効期限を設定することが可能です。
ただ、上記記事の設定だけだとPersonal Access Tokenの有効期限はデフォルトのままです。

対応

こちらのStack Overflowの記事Laravel Passport token lifetimeによると、Personal Access Tokenに対しては、

Passport::personalAccessTokensExpireIn(Carbon::now()->addDays(1));

のように設定しないとダメとのこと。
また、Passportが7.0.4以上のバージョンから使用できます、おそらくLaravelは5.8以上からではないと使えないと思います。(Laravel 5.8 Laravel Passport

ちなみに、oauth_access_tokensexpires_atを直接更新しても、実際に使用している期限はtokenで暗号化されているものらしく、更新しても無意味だそうです。。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2