Method: accounts.sendVerificationCode

電話番号でのログイン用の SMS 確認コードを送信します。

ユーザーに送信される SMS のテキストをローカライズするには、HTTP ヘッダー X-Firebase-Locale をユーザーのロケールに対応する言語コードに設定します。

Google Cloud プロジェクトを識別するには、リクエストに API キーが必要です。

HTTP リクエスト

POST https://identitytoolkit.googleapis.com/v1/accounts:sendVerificationCode

この URL は gRPC Transcoding 構文を使用します。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "phoneNumber": string,
  "iosReceipt": string,
  "iosSecret": string,
  "recaptchaToken": string,
  "tenantId": string,
  "autoRetrievalInfo": {
    object (AutoRetrievalInfo)
  },
  "safetyNetToken": string,
  "playIntegrityToken": string,
  "captchaResponse": string,
  "clientType": enum (ClientType),
  "recaptchaVersion": enum (RecaptchaVersion)
}
フィールド
phoneNumber

string

確認コードを送信する電話番号(E.164 形式)。

iosReceipt

string

iOS アプリのトークンの検証が成功したことの通知。「captchaResponse」が使用されていない場合(reCAPTCHA Enterprise が有効になっていない場合)、確認コードがエミュレータではなく実際のアプリに代わって送信されていることを確認するには、(iosReceiptiosSecret)、recaptchaToken、または safetyNetToken のいずれかを指定する必要があります。これは verifyIosClient のレスポンスから取得する必要があります。存在する場合は、iosSecret と、x-ios-bundle-identifier ヘッダーにバンドル ID も指定する必要があります。このバンドル ID は、verifyIosClient リクエストのバンドル ID と一致している必要があります。

iosSecret

string

プッシュ通知として iOS アプリに配信されるシークレット。iosReceiptx-ios-bundle-identifier ヘッダーとともに渡す必要があります。

recaptchaToken

string

アプリの確認用の reCAPTCHA トークン。「captchaResponse」が使用されていない場合(reCAPTCHA Enterprise が有効になっていない場合)、確認コードがエミュレータではなく実際のアプリに代わって送信されていることを確認するには、(iosReceiptiosSecret)、recaptchaToken、または safetyNetToken のいずれかを指定する必要があります。reCAPTCHA は getRecaptchaParams を呼び出して生成する必要があります。reCAPTCHA トークンは、ユーザーが reCAPTCHA のチャレンジを完了すると生成されます。

tenantId

string

ユーザーがログインしている Identity Platform テナントのテナント ID。

autoRetrievalInfo

object (AutoRetrievalInfo)

Android のみ。Google Play 開発者サービスが自動取得するアプリを識別するために使用されます。

safetyNetToken

string

Android のみ。recaptcha トークンの代わりにアプリケーション ID をアサートするために使用されます。「captchaResponse」が使用されていない場合(reCAPTCHA Enterprise が有効になっていない場合)、確認コードがエミュレータではなく実際のアプリに代わって送信されていることを確認するには、iosReceiptiosSecretrecaptchaTokensafetyNetToken のいずれかを指定する必要があります。SafetyNet トークンは、SafetyNet Android Attestation API を使用して生成できます。この場合、phoneNumber フィールドの Base64 エンコードがノンスとして使用されます。

playIntegrityToken

string

Android のみ。recaptcha トークン(および safetyNetToken)の代わりに、アプリケーション ID をアサートするために使用されます。「captchaResponse」が使用されていない場合(reCAPTCHA Enterprise が有効になっていない場合)、エミュレータではなく実際のアプリに代わって確認コードが送信されていることを確認するには、(iosReceiptiosSecret)、recaptchaTokenplayIntegrityToken のいずれかを指定する必要があります。Play Integrity トークンは、PlayIntegrity API を使用して、phoneNumber フィールドにノンスとして SHA256 を適用することで生成できます。

captchaResponse

string

省略可。reCAPTCHA クライアントサイド統合によって提供される reCAPTCHA Enterprise トークン。reCAPTCHA Enterprise が有効になっている場合は必須です。

clientType

enum (ClientType)

省略可。クライアントの種類(web、android、ios)。reCAPTCHA Enterprise が有効になっている場合に必須です。

recaptchaVersion

enum (RecaptchaVersion)

省略可。captchaResponse 内の reCAPTCHA トークンの reCAPTCHA バージョン。reCAPTCHA Enterprise が有効になっている場合に必須です。

レスポンスの本文

accounts.sendVerificationCode に対するレスポンス メッセージです。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "sessionInfo": string
}
フィールド
sessionInfo

string

暗号化されたセッション情報。これは、signInWithPhoneNumber で電話番号を認証するために使用できます。

認可スコープ

以下のいずれかの OAuth スコープが必要です。

  • https://www.googleapis.com/auth/identitytoolkit
  • https://www.googleapis.com/auth/cloud-platform

詳細については、Authentication Overview をご覧ください。

AutoRetrievalInfo

SMS を自動取得するために必要な情報。

JSON 表現
{
  "appSignatureHash": string
}
フィールド
appSignatureHash

string

Google Play 開発者サービスの SMS Retriever API 用の Android アプリの署名ハッシュ。