ユーザーのログインや登録を容易にするために、複数の ID プロバイダと通信して利用可能な認証情報を見つけることができます。次の ID プロバイダを呼び出すために、プロンプト UI のステータスを確認することをおすすめします。
さまざまなタイミングでプロンプトの UI ステータスについて通知を受け取るには、コールバック関数名を data-moment_callback
属性に設定するか、JavaScript API を使用する場合は prompt()
メソッドに関数を設定します。
以下のタイミングで通知が送信されます。
表示タイミング:
prompt()
メソッドが呼び出された後に行われます。通知には、UI が表示されるかどうかを示すブール値が含まれています。スキップされた瞬間: これは、自動キャンセルまたは手動キャンセルによってワンタップ プロンプトが閉じられたとき、または Google が認証情報を発行できなかった場合(選択したセッションが Google からログアウトしている場合など)に発生します。
この場合、次の ID プロバイダがあれば、続行することをおすすめします。
閉じられた瞬間: これは、Google が認証情報を正常に取得した場合、またはユーザーが認証情報取得フローの停止を希望している場合に発生します。たとえば、ユーザーがログイン ダイアログにユーザー名とパスワードの入力を開始したら、
google.accounts.id.cancel()
メソッドを呼び出してワンタップ プロンプトを閉じ、閉じた瞬間をトリガーできます。
次のコードサンプルは、スキップされた瞬間を実装します。
<script>
function continueWithNextIdp(notification) {
if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
// try Next provider if One Tap is not displayed or skipped
}
}
</script>
...
<div id="g_id_onload"
data-client_id="YOUR_GOOGLE_CLIENT_ID"
data-login_uri="https://your.domain/your_login_endpoint"
data-moment_callback="continueWithNextIdp"
</div>