利点
- 統合アクセス: ユーザーは一度認証すれば、資格情報を再入力することなく、関連するすべての独立したアプリケーションにアクセスできます。
- 一元化されたセッション: Auth0 は中央のドメインとブラウザー Cookie を使用して、複数のアプリケーション間で認証状態を共有します。
- Universal Login: Auth0 の Universal Login を利用すれば、あらゆるプラットフォームで SSO を安全に実装できます。
仕組み
- アプリケーションで維持されるローカルセッション
- SSO が有効な場合のセッション
- ユーザーが (Google、Facebook、またはエンタープライズ IDプロバイダーなど) 経由でログインすることを選択した場合の セッション
Universal Login での SSO
シングルサインオンで Passwordless を使用している場合、接続パラメータ
sms と email では既存の Auth0 セッションは利用されず、ユーザーはログインを求められます。初回ログイン時の SSO
- アプリケーションがユーザーをログインページにリダイレクトします。
- Auth0 は既存の SSO Cookie があるかどうかを確認します。
-
ユーザーがログインページにアクセスするのは今回が初めてで、SSO Cookie も存在しないため、設定済みのいずれかの接続を使用してログインするよう求められます。

- ユーザーがログインすると、Auth0 は SSO Cookie を設定し、ユーザーをアプリケーションにリダイレクトしたうえで、ユーザーのアイデンティティ情報を含む ID トークンを返します。
以降のログイン時の SSO
- アプリケーションがユーザーをログインページにリダイレクトします。
- Auth0 は既存の SSO Cookie があるかどうかを確認します。
- Auth0 は SSO Cookie を検出し、必要に応じて更新します。ログイン画面は表示されません。
- Auth0 はユーザーをアプリケーションにリダイレクトし、ユーザーのアイデンティティ情報を含む ID トークンを返します。
ユーザーのSSOステータスを確認する
auth0.js SDK の checkSession メソッドを呼び出します。これにより、iframe 内でユーザーのサイレント認証が試みられます。認証が成功するかどうかで、ユーザーに有効なSSO Cookie があるかどうかを判断できます。
プロトコル
SAML と WS-Federation
- ユーザーがサービスプロバイダーにリソースへのアクセスを要求します。
- サービスプロバイダーは、ユーザーにそのリソースへのアクセスを許可すべきかどうかを、IDプロバイダーに確認します。
- IDプロバイダーはユーザーを認証し、有効であれば、そのユーザーにアクセスを許可すべきであることをサービスプロバイダーに通知します。
OpenID Connect
- ユーザーがアプリケーションへのアクセスを要求します。
- アプリケーションは、認証のためにユーザーをIDプロバイダーへリダイレクトします。
- IDプロバイダーがユーザーを認証し、成功すると、アプリケーションによるデータへのアクセスを許可するようユーザーに求めます。
- アクセスが許可されると、IDプロバイダーは ID トークンを生成します。これには、アプリケーションが利用するユーザーのアイデンティティ情報が含まれます。
- IDプロバイダーはユーザーをアプリケーションに戻します。
AD/LDAP
サービスプロバイダー主導のSSO
- アプリケーションは、1 つ以上の外部IDプロバイダーをユーザーに提示します。
- ユーザーは認証に使用するIDプロバイダーを選択してログインします。
- 認証に成功すると、ユーザーはアプリケーションに戻ります。
アイデンティティプロバイダー起点のSSO
- アプリケーションがユーザーをIDプロバイダーにリダイレクトします。
- サードパーティのIDプロバイダーが認証および認可を行います。
- 認証が成功すると、ユーザーはアプリケーションに戻ります。
サービスプロバイダー主導のSSO とアイデンティティプロバイダー起点のSSO
- 直接アクセス: ユーザーが通常、アプリケーションのログインページをブックマークしたり、ページに直接アクセスしたりする場合に使用します。
- セキュリティの強化: 特定の「Request ID」を使用してログインリクエストとレスポンスを関連付けるため、クロスサイトリクエストフォージェリ (CSRF) やリプレイ攻撃を防止でき、より安全です。
- ディープリンク: ログイン後にユーザーをアプリ内の特定のページにリダイレクトする必要がある場合に使用します。
- 企業ポータル: ユーザーが一日の始まりに、Okta、Microsoft 365、企業イントラネットなどの一元化されたダッシュボードを開き、アイコンを選択してアプリを起動する場合に使用します。
- ユーザーエクスペリエンスの簡素化: エンドユーザーが最初にアプリケーションのログインページにアクセスする必要がなくなり、すでに認証された状態でアプリケーションにアクセスできます。
- レガシーシステム: 最新のリダイレクト機能を備えていない古い SAML ベースのエンタープライズシステムと連携する際によく使用されます。