Laravel Passportまとめ
Laravel Passportを勉強しながら、こちら↑の記事を読んでいろいろ勉強した記録まとめ👽
Laravel Passport
Laravel PassportはOAuth2.0のAPI認証が簡単に実装できるやつ🌻 設定方法とかは公式ドキュメントをみたり、下の記事もわかりやすかった
Laravel Passportは
Oauth2 with authorization codes
Password Grant Token
Implicit Grant Token
Client Credentials Grant Token
Personal Access Token
の5つが使えるんだけど、公式とかみて設定するとルートで Passport::routes(); って書いてあるから使わない認証方法のルートもできちゃう😩 これを使うやつだけに制限する場合はこれをみる
今回はPassword Grantで実装する。 Password Grantは /oauth/token にPOSTリクエストをする リクエスト形式はこんな感じ
POST {トークンエンドポイント} HTTP/1.1 Host: {認可サーバー} Content-Type: application/x-www-form-urlencoded grant_type=refresh_token // 必須 &username={ユーザーID} // 必須 &password={パスワード} // 必須 &client_id{クライアントID} // 必須 &client_secret{クライアントシークレット} // 必須 &scope={スコープ群} // 任意
でもこれをそのままフロントからリクエストするとあぶない🤬 だから一回プロキシ的なのを作ってフロントはそこにリクエストして、プロキシから /oauth/token にリクエストするようにする
トークンは返してリフレッシュトークンはCookieにいれるんだ🙄