認証APIを利用した応用例(IDログイン)
メールアドレスの代わりに、ユーザー名+テナントID でログインするID認証方式の実装方法を解説します。
IDログインは単独で実装することも、メールアドレスログインと併用することもできます。SRP認証の計算処理やトークン検証(POST /verify)の仕組みはメールアドレスログインと同じで、チャレンジリクエストのエンドポイントとパラメータのみが異なります。
基本のメールアドレスログインの実装については 認証APIを利用した基本実装 を、認証APIの全体像については 認証API実装ガイド をご参照ください。
概要
IDログインでは、SaaSus Platform のテナント属性に設定された login_domain を利用します。バックエンドがテナント情報を取得し、ユーザー名 + login_domain(例: taro + @example.com = taro@example.com)を結合して SaaSus Platform Auth API に送信します。
これにより、ユーザーはメールアドレス全体を覚えていなくても、ユーザー名とテナントIDだけでログインできるようになります。複数テナントを運用する SaaS において、テナントごとに完結したログイン体験を提供したい場合に有効です。
前提条件
IDログインを実装するためには、以下の前提条件をすべて満たしている必要があります。
1. SaaSus Platform 側の設定
テナント属性 login_domain が定義されていること
SaaS 運用コンソールの「テナント属性」設定で、login_domain という名前のテナント属性を追加してください。
- 属性名:
login_domain - 属性タイプ: 文字列(string)
- 値の形式:
@を含むドメイン部分(例:@example.com、@tenant1.example.com)
login_domain にはメールアドレスの @ 以降を含む形式で設定します(例: @example.com)。これにより user_id と単純結合した際に有効なメールアドレス形式になります。@ を含まないドメイン名のみで設定すると、結合時に正しいメールアドレスにならず認証に失敗します。
対象テナントに login_domain の値が設定されていること
ログイン対象となるテナントごとに、上記で定義した login_domain 属性に値が設定されている必要があります。値が未設定のテナントに対しては、IDログイン処理が失敗します。