talk
ドメイン指定Cookieとサービス間共有Redisで作る認証基盤サービス
複数の自社サービスを展開する企業にとって、シングルサインオンやサービス間連携を実現するための認証基盤サービスはほぼ必須といえます。
このような認証基盤サービスを構築する際に課題となるのが、「どうやって認証基盤から他のサービスに認証状態を共有するか」です。
オープンな規格として OpenID Connect がありますが、これは主にサードパーティーへのID受け渡しを想定しており、ファーストパーティーのみで利用するうえでは煩雑になりがちです。
また各種 IDaaS の利用も検討できますが、コストや機能面での制約を踏まえて選定する必要があります。
本セッションでは簡易的な認証基盤サービスを実現するために、ドメイン指定Cookieとサービス間共有Redisを組み合わせる方法を紹介します。
これにはいくつかの制限があるものの、単独の Rails アプリケーションと仕組みがほぼ変わらないため単純で扱いやすく、セキュリティ面でもアタックサーフェスが少ないというメリットがあります。
弊社の認証基盤でこの方法を採用した事例をもとに、運用上の工夫やメリットとデメリットなどを紹介します。
Speaker
黒曜
Leaner Technologies株式会社所属のWebエンジニア。Railsアプリ開発のほか、フロントエンドSPAの開発やAWSでのインフラ構築・CI/CD改善など幅広く担当。現在はRails APIモード+Next.js SPAという構成で新規プロダクトの立ち上げに参画している。