Swagger UIで認証トークンをリロード後も保持する方法【Laravel L5-Swagger設定ガイド】

はじめに

LaravelでAPIドキュメントを提供する際、L5-Swaggerを利用している方も多いと思います。しかし、Swagger UIに入力した認証トークンがリロードすると消えてしまい、再度入力するのが面倒という問題に直面したことはありませんか?

L5-Swaggerのバージョンを上げたら、リロードすると認証トークンが消えてしまい、都度ログイン処理を行うことになってしまいました。これが地味にだるい。
どうやって調べればいいかもわからなかったのですが、なんとか修正できました。

本記事では、L5-Swaggerの設定をカスタマイズして、認証トークンをリロード後も保持できるようにする方法を解説します。この設定を行えば、開発効率がアップすること間違いなしです。

設定前の準備

L5-Swaggerをすでに導入済みのLaravelプロジェクトを前提に解説します。もしまだ導入していない場合は、公式ドキュメントに従ってインストールと設定を行ってください。

設定ファイルのカスタマイズ

L5-Swaggerの設定は config/l5-swagger.php で行います。このファイルを編集して、認証トークンがリロードしても消えないように設定します。

ステップ1: persist_authorization の設定を変更

以下のコードを l5-swagger.phpui セクションに追加または変更します。

'ui' => [
    'authorization' => [
        'persist_authorization' => true,
    ],
],

この設定により、Swagger UIで入力した認証情報がブラウザのローカルストレージに保存され、リロードしてもクリアされなくなります。

ステップ2: 環境変数を使用する場合

環境ごとに設定を切り替えたい場合は、.env ファイルに以下を追加します。

L5_SWAGGER_UI_PERSIST_AUTHORIZATION=true

これにより、設定ファイル内の以下の行が .env ファイルから値を取得するようになります。

'persist_authorization' => env('L5_SWAGGER_UI_PERSIST_AUTHORIZATION', false),

設定の効果

これで、Swagger UI上で一度入力した認証トークンは、リロードしても保持され続けます。特に開発時やAPIのテストを頻繁に行う場合、この設定は非常に役立ちます。

注意点

ローカルストレージに認証トークンを保存するため、セキュリティに配慮する必要があります。公開環境では使用を控えるか、適切なセキュリティ対策を講じることをおすすめします。

まとめ

L5-Swaggerの設定をカスタマイズすることで、リロードしても認証トークンがクリアされないようにする方法をご紹介しました。この小さな設定変更が開発の効率化に大きく貢献するので、ぜひ試してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次