IdP である Google は、サービス プロバイダ(SP)を起点とするログインを実施する際のユーザーのログインを簡素化するために、ログインヒント パラメータをサポートしています。ログインヒントが存在する場合、Google 認証サーバーはヒントを使用して次の処理を行います。
- メール フィールドに事前入力する: 認証サーバーによってログイン フォームにメールアドレスが事前入力されるため、ユーザーの手間が省けます。
- 直接ログインを有効にする: ヒントに関連付けられているユーザーがすでに Google でアクティブなセッションを持っている場合、サーバーは自動的にログインし、シームレスなエクスペリエンスを提供します。
サービス プロバイダの要件
アプリがログインを試みるユーザーの ID を把握している場合は、SSO URL への HTTP リクエストにログインヒントパラメータ(login_hint)を含めることができます。login_hint の値は、次の例のようにユーザーの NameID にする必要があります。
https://www.accounts.google.com/o/saml2/idp?idpid=<customer_id>&login_hint=<email_id_of_the_user>
注: Google の SAML IdP は、AuthnRequest の Subject 要素に存在する可能性のある NameID を使用しません。代わりに login_hint を使用してください。
ログインヒントが使用された場合のログイン動作
以下の表に、SAML リクエストにログインヒント パラメータが存在する場合の Google へのユーザー ログインの違いを示します。
| ログイン済みユーザー | ログインヒントの値 | 動作 |
|---|---|---|
| なし | なし | 通常の Google ログインページが表示されます。 |
| user@domain.com | Google ログインページのメールアドレス フィールドに user@domain.com が事前入力されます。 | |
| user1@domain.com | なし | Google ログインページはスキップされ、user1 はサービス プロバイダに直接ログインします。 |
| user1@domain.com | ||
| user2@domain.com | Google ログインページに user2@domain.com が事前入力されます。 | |
| user1@domain.com user2@domain.com |
なし | Google アカウント選択画面に、ログインしているすべてのユーザーが表示されます。 |
| user1@domain.com |
Google ログインページはスキップされ、user1 はサービス プロバイダに直接ログインします。 |
|
| user2@domain.com | Google ログインページはスキップされ、user2 はサービス プロバイダに直接ログインします。 | |
|
user3@domain.com |
Google ログインページに user3@domain.com が事前入力されます。 |