一般社団法人 全国個人事業主支援協会

COLUMN コラム

auth0で異なるドメインでSSOを実現しようとしているが、なかなか手ごわいです。

同様の問題で困っている開発者がかなりいるが、開発環境が異なることで、同じように解決とはいかない。

 

技術調査中の備忘録を今回は紹介します

 

SSOの実現方法をざっくり説明

・auth0の複数アプリで同一のログイン画面を使用するため、ログイン後、ログインドメインにクッキー追加する。

・リダイレクトベース認証を使い、アプリからauth0のドメインにアクセス時、クッキーが送信し、認証チェックしてSSOを実現する

アプリケーションAドメイン:app-a.com
 アプリケーションAドメイン:app-b.com
 authのログイン     : xxxxxx.us.auth0.com(※1)

※1 ここにクッキーを保存する

 

問題

・app-a.com → xxxxxx.us.auth0.com/authorize (auth標準のドメイン)にリダイレクトして、SSOを実現しようとするが、ログイン画面が表示される

 

原因

・auth0のクッキー送信されず、SSOできず、ログイン画面を表示される

・*.auth0.comのCookieは、Safari・iOS・Firefoxなどでブロックされる

・auth0は他の何百・何千ものサービスを展開しており、「トラッキング目的のドメイン」として、ブラウザがクッキーの保存や送信を拒否する

 

対応

・カスタムドメインを用意する

 xxxxxx.us.auth0.com → login.app-a.com

・カスタムドメインを発行しても、拒否される可能性がある。

・アプリとカスタムドメインのトップドメイン(app-a.com)を合わせることで、ファーストパーティ(第1ドメイン)扱いとなり、クッキーが送信できる可能性が高い

 アプリケーションAドメイン:app-a.com
 カスタムドメイン候補:auth.app-a.com

The following two tabs change content below.

有村克志

フリーランスのシステムエンジニアしてます。

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア