mod_auth_openidcのOIDCCacheType redisを試す

はじめに

mod_auth_openidcはキャッシュ先としては以下の中から選ぶことができます (https://github.com/zmartzone/mod_auth_openidc/wiki/Caching) 。

  • shared memory (default)

  • memcache

  • Redis

  • file storage

shared memoryだと不便なケースがあるのでRedisを利用してみます。
以下のリポジトリにて動作確認を行いました。 github.com

設定

設定方法についてはmod_auth_openidcのwikiに記載されているので、こちらを参考に進めていきます。

github.com

httpd.confの以下のディレクティブに設定をを追加します。

OIDCCacheType                 redis
OIDCRedisCacheServer          redis:6379
OIDCRedisCachePassword        foobar

redisを利用する際にはOIDCCachTyperedisにします。
OIDCRedisCacheServerにredisサーバーのホスト名とポート([:])を設定します。
もしパスワードを設定していればOIDCRedisCachePasswordにパスワードを設定します。

動作確認

データがredisに格納されているか確認してみる。
事前にredisに接続しやすいようにdocker-compose.ymlのportを編集して外部にportを公開しておくと楽です。

  redis:
    image: "redis:alpine"
    ports:
      - "6379:6379"
    command: redis-server --appendonly yes --requirepass foobar 

redis-cliで対象ホストにアクセスして中身を見てみる。パスワードを設定している場合は事前にAUTHコマンドを実行しておく。

$ redis-cli
127.0.0.1:6379> AUTH foobar(パスワード)
OK
127.0.0.1:6379> keys *
1) "n:DFivOxw8xZrleyjsLU7-4Sdoa9v4E-PRQbsfbCFLQqg"
2) "j:sulYTRjjayqQ1YZRie_5FM0raz_Zygxbp4rPLIRWUxc"
3) "n:Oj4W_istnIxmeGW1Gq8gmNGYGP9KQhCL7pzucOX5anE"
4) "p:CR-pEhlBO5nQ-wW4rBt_UlZyxN8d0ydQrvFKDkx_UVU"
5) "s:a3-NEm6xqSmiLR-KSJpn3ed97FsJDvW1YDW0SXs8zVg"

確認できました。何か入っているので問題なさそうです。

おわりに

今回はmod_auth_openidcのキャッシュ先としてRedisを使ってみました。
意外と設定も少なくできたのでよかったです。