サインアップとサインイン
サインアップとサインインは、エンドユーザーがクライアントアプリケーションへの認証 (Authentication) および認可 (Authorization) を行うためのコアなインタラクションプロセスです。Logto は、集中管理された OIDC ベースの CIAM プラットフォームとして、複数のクライアントアプリケーションやプラットフォームにわたるユーザーのためのユニバーサルなサインイン体験を提供します。
ユーザーフロー
一般的な OIDC 認証 (Authentication) フローでは、ユーザーはまずクライアントアプリを開きます。クライアントアプリは 認可リクエスト (Authorization request) を Logto OIDC プロバイダーに送信します。ユーザーにアクティブなセッションがない場合、Logto はユーザーを Logto ホスト型サインイン体験ページに誘導します。ユーザーは Logto 体験ページで必要な認証情報を入力し、認証 (Authentication) されます。認証 (Authentication) に成功すると、Logto は 認可コード (Authorization code) とともにユーザーをクライアントアプリにリダイレクトします。その後、クライアントアプリは認可コードを使って トークンリクエスト (Token request) を Logto OIDC プロバイダーに送り、トークンを取得します。
ユーザーインタラクション
クライアントアプリが認可リクエストを開始すると、各ユーザーインタラクションごとに インタラクションセッション が作成されます。このセッションは複数のクライアントアプリケーション間でユーザーインタラクションの状態を一元管理し、Logto による統一されたサインイン体験を実現します。ユーザーがクライアントアプリ間を移動してもインタラクションセッションは維持され、認証 (Authentication) 状態が保たれるため、プラットフォーム間での繰り返しサインインの必要性が減少します。インタラクションセッション が確立されると、ユーザーは Logto へのサインインを促されます。
Logto の 体験アプリ は、サインイン体験を提供する専用のホスト型アプリケーションです。ユーザーが認証 (Authentication) を必要とする際、体験アプリ に誘導され、サインインを完了し Logto とやり取りします。体験アプリ はアクティブなインタラクションセッションを利用して、ユーザーのインタラクション進捗を追跡・サポートします。
このユーザージャーニーを支援・制御するために、Logto はセッションベースの Experience API を提供します。これらの API により、体験アプリ はインタラクションセッションの状態をリアルタイムで更新・取得しながら、幅広いユーザー識別・検証方法に対応できます。
ユーザーがすべての検証要件を満たすと、インタラクションセッションは OIDC プロバイダーへの結果送信で終了し、ユーザーは完全に認証 (Authentication) され、同意も提供され、安全なサインインプロセスが完了します。
体験ページは認証 (Authentication) フローを通じてのみアクセスできるよう設計されています。検索エンジンによるインデックス登録や直接アクセスを防ぐため、Logto は体験 HTML ページに <meta name="robots" content="noindex, nofollow" /> を自動的に追加します。
サインイン体験のカスタマイズ
Logto は、さまざまなビジネス要件に対応する柔軟でカスタマイズ可能なユーザー体験を提供します。カスタムブランディング、ユーザーインターフェース、ユーザーインタラクションフローなどが含まれます。体験アプリ はクライアントアプリケーションのブランディングやセキュリティ要件に合わせて調整できます。
Logto でのサインイン体験の セットアップ や カスタマイズ について、さらに詳しく学んでください。
よくある質問
アプリごとのサインイン体験方法やブランディング
アプリケーションや組織ごとに異なる サインイン UI が必要な場合、Logto は アプリ固有のブランディング や 組織固有のブランディング のカスタマイズに対応しています。
ユーザータイプやサイトごとに異なる サインイン方法 を提供したい場合は、認証パラメーター(例:first_screen や direct_sign_in)を利用して、ユーザーをカスタマイズされたサインインオプション付きのエンドユーザーページへ誘導できます。
メールドメイン / IP アドレス / 地域による制限
属性ベースのアクセス制御(例:メールドメイン、IP アドレス、地域によるサインイン制限)には、Logto の カスタムトークンクレーム 機能を利用し、ユーザー属性に基づいて認可リクエストを拒否または許可できます。
サインイン・サインアップ用のヘッドレス API
現在、Logto はサインイン・サインアップ用のヘッドレス API を提供していません。ただし、独自 UI の持ち込み を利用して、サインイン・サインアップ体験をカスタマイズできます。
関連リソース
Resource Owner Password Credentials (ROPC) グラントタイプを非推奨にすべき理由
なぜインプリシットフローではなく認可コードフローを使うべきか?
トークンベース認証 (Authentication) とセッションベース認証 (Authentication) の比較