Method: accounts.sendVerificationCode

Mengirim kode verifikasi SMS untuk login dengan nomor telepon.

Untuk melokalkan teks SMS yang dikirim kepada pengguna, tetapkan header HTTP X-Firebase-Locale ke kode bahasa yang sesuai dengan lokalitas pengguna.

Kunci API diperlukan dalam permintaan untuk mengidentifikasi project Google Cloud.

Permintaan HTTP

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

URL menggunakan sintaks gRPC Transcoding.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi 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)
}
Kolom
phoneNumber

string

Nomor telepon yang akan menerima kode verifikasi dalam format E.164.

iosReceipt

string

Tanda terima validasi token aplikasi iOS yang berhasil. Setidaknya salah satu dari (iosReceipt dan iosSecret), recaptchaToken, atau safetyNetToken harus ditentukan untuk memverifikasi bahwa kode verifikasi dikirim atas nama aplikasi sungguhan, bukan emulator, jika 'captchaResponse' tidak digunakan (reCAPTCHA Enterprise tidak diaktifkan). Ini harus berasal dari respons verifyIosClient. Jika ada, pemanggil juga harus memberikan iosSecret, serta ID paket di header x-ios-bundle-identifier, yang harus cocok dengan ID paket dari permintaan verifyIosClient.

iosSecret

string

Secret dikirim ke aplikasi iOS sebagai notifikasi push. Harus diteruskan dengan iosReceipt serta header x-ios-bundle-identifier.

recaptchaToken

string

Token Recaptcha untuk verifikasi aplikasi. Setidaknya salah satu dari (iosReceipt dan iosSecret), recaptchaToken, atau safetyNetToken harus ditentukan untuk memverifikasi bahwa kode verifikasi dikirim atas nama aplikasi sungguhan, bukan emulator, jika 'captchaResponse' tidak digunakan (reCAPTCHA Enterprise tidak diaktifkan). Recaptcha harus dibuat dengan memanggil getRecaptchaParams dan token recaptcha akan dibuat saat pengguna menyelesaikan tantangan recaptcha.

tenantId

string

ID tenant tenant Identity Platform tempat pengguna login.

autoRetrievalInfo

object (AutoRetrievalInfo)

Khusus Android. Digunakan oleh Layanan Google Play untuk mengidentifikasi aplikasi untuk pengambilan otomatis.

safetyNetToken

string

Khusus Android. Digunakan untuk menyatakan identitas aplikasi sebagai pengganti token recaptcha. Setidaknya salah satu dari (iosReceipt dan iosSecret), recaptchaToken, atau safetyNetToken harus ditentukan untuk memverifikasi bahwa kode verifikasi dikirim atas nama aplikasi sungguhan, bukan emulator, jika 'captchaResponse' tidak digunakan (reCAPTCHA Enterprise tidak diaktifkan). Token SafetyNet dapat dibuat melalui SafetyNet Android Attestation API, dengan encoding Base64 kolom phoneNumber sebagai nonce.

playIntegrityToken

string

Khusus Android. Digunakan untuk menyatakan identitas aplikasi sebagai pengganti token recaptcha (dan safetyNetToken). Setidaknya salah satu dari (iosReceipt dan iosSecret), recaptchaToken, atau playIntegrityToken harus ditentukan untuk memverifikasi bahwa kode verifikasi dikirim atas nama aplikasi sungguhan, bukan emulator, jika 'captchaResponse' tidak digunakan (reCAPTCHA Enterprise tidak diaktifkan). Token Play Integrity dapat dibuat melalui PlayIntegrity API dengan menerapkan SHA256 ke kolom phoneNumber sebagai nonce.

captchaResponse

string

Opsional. Token reCAPTCHA Enterprise yang disediakan oleh integrasi sisi klien reCAPTCHA. Wajib diisi jika reCAPTCHA Enterprise diaktifkan.

clientType

enum (ClientType)

Opsional. Jenis klien, web, android, atau ios. Wajib diisi jika reCAPTCHA Enterprise diaktifkan.

recaptchaVersion

enum (RecaptchaVersion)

Opsional. Versi reCAPTCHA dari token reCAPTCHA di captchaResponse. Wajib diisi jika reCAPTCHA Enterprise diaktifkan.

Isi respons

Pesan respons untuk accounts.sendVerificationCode.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "sessionInfo": string
}
Kolom
sessionInfo

string

Informasi sesi terenkripsi. Ini dapat digunakan di signInWithPhoneNumber untuk mengautentikasi nomor telepon.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

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

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

AutoRetrievalInfo

Informasi yang diperlukan untuk mengambil SMS secara otomatis.

Representasi JSON
{
  "appSignatureHash": string
}
Kolom
appSignatureHash

string

Hash tanda tangan aplikasi Android untuk SMS Retriever API Layanan Google Play.