ログインヒントを使用する場合の SSO ログインフロー

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 が事前入力されます。