ログインヒントを使用する場合の 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
(アクティブなセッションにログインしていないユーザー)

user3@domain.com が事前入力された Google ログインページ。