Laravel PassportでアクセストークンによるAPI認証

OAuth2サーバの実装を提供するLaravel Passportを使ってアクセストークンによるAPI認証をやってみよう!
Laravel5.8でユーザ認証」まで出来ているところから始めます。

開発環境

Laradock
Laravel 5.8
MySQL 5.7

Laravel Passportインストール

【LaradockのWorkspaceにログイン】

【Laravel Passportパッケージ導入】

【データベース作成】

以下のテーブルが作成された。
oauth_auth_codes
oauth_access_tokens
oauth_refresh_tokens
oauth_clients
oauth_personal_access_clients

【暗号キーとクライアントの作成】

パーソナルアクセスクライアント、パスワードグラントクライアントとそれぞれのアクセストークンの生成に必要な暗号キーが生成されoauth_clientsテーブルに登録される。

Userモデルを修正

Laravel\Passport\HasApiTokensトレイト追加

app/Models/User.php

もう一回!

↓割と時間かかる・・・

ちゃんと動いたっぽい。

【動作確認】

Userログインしてみる

http://localhost/home


出ないw

ブラウザのキャッシュクリアで出た!

「Create New Client」をクリックしてみる

oauth_clientsに登録された。

「Create New Token」をクリックしてみる

oauth_access_tokensに登録された。

Personal Access Tokenを利用してユーザ情報取得を取得してみる
PostmanとかAdvanced REST clientとかを使って

取得できたみたいというわけでとりあえず動作確認完了。

感想

アクセストークン自体はどこにも保存されないので紛失したら再発行ということね。
フロントエンドではPersonal Access Tokenの動作確認だけだったが、Password GrantやAuthorization Code Grantはやってみておきたいところ・・・だがまたいずれ。。。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする