メインコンテンツへスキップ
アプリケーションのログイン体験を設計する際は、ホスト型ログイン (Universal Login) にするか、埋め込みログインにするかを決める必要があります。

ホスト型ログイン

ホスト型ログインフローでは、アプリケーションは認証のためにユーザーをへリダイレクトし、その後、認可サーバーはユーザーをアプリケーションに戻します。

Universal Login フロー

一般的な を使ったユーザー認証フローは、次のとおりです。
  1. アプリケーションは、Auth0 SDK のログインメソッドを呼び出すか、Auth0 Authentication API Login エンドポイント を直接呼び出して、認証リクエストを開始します。
  2. アプリケーションはユーザーを Auth0 の認可サーバー (Auth0 テナント) にリダイレクトします。
  3. Auth0 は、Auth0 Session Layer にセッションクッキーがあるかどうかを確認します。
    • セッションクッキーが見つからない場合、Auth0 はユーザーを Universal Login にリダイレクトして認証を行い、対応するセッションクッキーを作成します。
    • セッションクッキーが見つかった場合、Auth0 はそのクッキーを使用してユーザーを認証します。
  4. Auth0 は、IDトークンアクセストークン を返して、ユーザーをアプリケーションにリダイレクトします。

埋め込みログイン

埋め込みログインフローでは、ユーザーはアプリケーション内で直接認証を行います。アプリケーションがログインフォームを提供し、ユーザーの認証情報を収集して、そのデータを認証プロバイダーに送信し、その後ユーザーのを含むレスポンスを受け取ります。 ウェブアプリケーションでは、Auth0テナントにカスタムドメインを設定していない限り、埋め込みログインでは クロスオリジン認証 を使用します。クロスオリジン認証では、異なるオリジン間で安全な認証トランザクションを可能にするため、サードパーティ Cookie を使用します。

機能比較

ベストプラクティス

IETF の RFC 8252: OAuth 2.0 for Native Apps によると、ネイティブアプリケーションの認証フローでは、ブラウザーなどの外部ユーザーエージェントのみを使用する必要があります。