Method: accounts.sendVerificationCode

Es wird ein SMS-Bestätigungscode für die Anmeldung per Telefonnummer gesendet.

Wenn Sie den Text der an den Nutzer gesendeten SMS lokalisieren möchten, setzen Sie den HTTP-Header X-Firebase-Locale auf den Sprachcode, der dem Gebietsschema des Nutzers entspricht.

In der Anfrage ist ein API-Schlüssel erforderlich, um das Google Cloud-Projekt zu identifizieren.

HTTP-Anfrage

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "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)
}
Felder
phoneNumber

string

Die Telefonnummer, an die der Bestätigungscode gesendet werden soll, im E.164-Format.

iosReceipt

string

Erfolgreiche Validierung des iOS-App-Tokens Wenn „captchaResponse“ nicht verwendet wird (reCAPTCHA Enterprise ist nicht aktiviert), muss mindestens eine der folgenden Optionen angegeben werden, um zu prüfen, ob der Bestätigungscode im Namen einer echten App und nicht eines Emulators gesendet wird: (iosReceipt und iosSecret), recaptchaToken oder safetyNetToken. Dieser Wert sollte aus der Antwort von verifyIosClient stammen. Falls vorhanden, sollte der Aufrufer auch die iosSecret sowie eine Bundle-ID im x-ios-bundle-identifier-Header angeben. Diese muss mit der Bundle-ID aus der verifyIosClient-Anfrage übereinstimmen.

iosSecret

string

Das Secret wird als Push-Benachrichtigung an die iOS-App gesendet. Muss mit einem iosReceipt- und dem x-ios-bundle-identifier-Header übergeben werden.

recaptchaToken

string

reCAPTCHA-Token für die App-Überprüfung. Wenn „captchaResponse“ nicht verwendet wird (reCAPTCHA Enterprise ist nicht aktiviert), muss mindestens eine der folgenden Optionen angegeben werden, um zu prüfen, ob der Bestätigungscode im Namen einer echten App und nicht eines Emulators gesendet wird: (iosReceipt und iosSecret), recaptchaToken oder safetyNetToken. Das reCAPTCHA sollte durch Aufrufen von getRecaptchaParams generiert werden. Das reCAPTCHA-Token wird generiert, wenn der Nutzer die reCAPTCHA-Abfrage abgeschlossen hat.

tenantId

string

Die Mandanten-ID des Identity Platform-Mandanten, bei dem sich der Nutzer anmeldet.

autoRetrievalInfo

object (AutoRetrievalInfo)

Nur Android. Wird von den Google Play-Diensten verwendet, um die App für den automatischen Abruf zu identifizieren.

safetyNetToken

string

Nur Android. Wird verwendet, um die Anwendungsidentität anstelle eines reCAPTCHA-Tokens zu bestätigen. Wenn „captchaResponse“ nicht verwendet wird (reCAPTCHA Enterprise ist nicht aktiviert), muss mindestens eine der folgenden Optionen angegeben werden, um zu prüfen, ob der Bestätigungscode im Namen einer echten App und nicht eines Emulators gesendet wird: (iosReceipt und iosSecret), recaptchaToken oder safetyNetToken. Ein SafetyNet-Token kann über die SafetyNet Android Attestation API generiert werden. Dabei wird die Base64-Codierung des Felds phoneNumber als Nonce verwendet.

playIntegrityToken

string

Nur Android. Wird verwendet, um die Anwendungsidentität anstelle eines reCAPTCHA-Tokens (und SafetyNet-Tokens) zu bestätigen. Wenn „captchaResponse“ nicht verwendet wird (reCAPTCHA Enterprise ist nicht aktiviert), muss mindestens eine der folgenden Optionen angegeben werden, um zu prüfen, ob der Bestätigungscode im Namen einer echten App und nicht eines Emulators gesendet wird: (iosReceipt und iosSecret), recaptchaToken oder playIntegrityToken. Ein Play Integrity-Token kann über die Play Integrity API generiert werden, indem SHA256 auf das Feld phoneNumber als Nonce angewendet wird.

captchaResponse

string

Optional. Das reCAPTCHA Enterprise-Token, das von der clientseitigen reCAPTCHA-Integration bereitgestellt wird. Erforderlich, wenn reCAPTCHA Enterprise aktiviert ist.

clientType

enum (ClientType)

Optional. Der Clienttyp: „web“, „android“ oder „ios“. Erforderlich, wenn reCAPTCHA Enterprise aktiviert ist.

recaptchaVersion

enum (RecaptchaVersion)

Optional. Die reCAPTCHA-Version des reCAPTCHA-Tokens in der captchaResponse. Erforderlich, wenn reCAPTCHA Enterprise aktiviert ist.

Antworttext

Antwortnachricht für accounts.sendVerificationCode

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "sessionInfo": string
}
Felder
sessionInfo

string

Verschlüsselte Sitzungsinformationen. Dieser kann in signInWithPhoneNumber verwendet werden, um die Telefonnummer zu authentifizieren.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

AutoRetrievalInfo

Die Informationen, die zum automatischen Abrufen einer SMS erforderlich sind.

JSON-Darstellung
{
  "appSignatureHash": string
}
Felder
appSignatureHash

string

Der Signatur-Hash der Android-App für die SMS Retriever API des Google Play-Dienstes.