Method: accounts.sendVerificationCode

Envoie un code de validation par SMS pour la connexion avec un numéro de téléphone.

Pour localiser le texte du SMS envoyé à l'utilisateur, définissez l'en-tête HTTP X-Firebase-Locale sur le code de langue correspondant aux paramètres régionaux de l'utilisateur.

Une clé API est requise dans la requête pour identifier le projet Google Cloud.

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation 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)
}
Champs
phoneNumber

string

Numéro de téléphone au format E.164 auquel envoyer le code de validation.

iosReceipt

string

Validation réussie du jeton d'application iOS. Au moins l'un des éléments (iosReceipt et iosSecret), recaptchaToken ou safetyNetToken doit être spécifié pour vérifier que le code de validation est envoyé au nom d'une application réelle et non d'un émulateur, si 'captchaResponse' n'est pas utilisé (reCAPTCHA Enterprise n'est pas activé). Il doit provenir de la réponse de verifyIosClient. Le cas échéant, l'appelant doit également fournir iosSecret, ainsi qu'un ID de bundle dans l'en-tête x-ios-bundle-identifier, qui doit correspondre à l'ID de bundle de la requête verifyIosClient.

iosSecret

string

Secret envoyé à l'application iOS sous la forme d'une notification push. Doit être transmis avec un iosReceipt et l'en-tête x-ios-bundle-identifier.

recaptchaToken

string

Jeton reCAPTCHA pour la validation de l'application. Au moins l'un des éléments (iosReceipt et iosSecret), recaptchaToken ou safetyNetToken doit être spécifié pour vérifier que le code de validation est envoyé au nom d'une application réelle et non d'un émulateur, si 'captchaResponse' n'est pas utilisé (reCAPTCHA Enterprise n'est pas activé). Le recaptcha doit être généré en appelant getRecaptchaParams, et le jeton recaptcha sera généré lorsque l'utilisateur aura terminé le défi recaptcha.

tenantId

string

ID du locataire Identity Platform auquel l'utilisateur se connecte.

autoRetrievalInfo

object (AutoRetrievalInfo)

Android uniquement. Utilisé par les services Google Play pour identifier l'application à récupérer automatiquement.

safetyNetToken

string

Android uniquement. Utilisé pour affirmer l'identité de l'application à la place d'un jeton ReCaptcha. Au moins l'un des éléments (iosReceipt et iosSecret), recaptchaToken ou safetyNetToken doit être spécifié pour vérifier que le code de validation est envoyé au nom d'une application réelle et non d'un émulateur, si 'captchaResponse' n'est pas utilisé (reCAPTCHA Enterprise n'est pas activé). Un jeton SafetyNet peut être généré via l'API SafetyNet Android Attestation, avec l'encodage base64 du champ phoneNumber comme nonce.

playIntegrityToken

string

Android uniquement. Utilisé pour affirmer l'identité de l'application à la place d'un jeton ReCaptcha (et de safetyNetToken). Au moins l'un des éléments (iosReceipt et iosSecret), recaptchaToken, ou playIntegrityToken doit être spécifié pour vérifier que le code de validation est envoyé au nom d'une application réelle et non d'un émulateur, si 'captchaResponse' n'est pas utilisé (reCAPTCHA Enterprise n'est pas activé). Un jeton Play Integrity peut être généré via l'API Play Integrity en appliquant SHA256 au champ phoneNumber en tant que nonce.

captchaResponse

string

Facultatif. Jeton reCAPTCHA Enterprise fourni par l'intégration côté client de reCAPTCHA. Obligatoire lorsque reCAPTCHA Enterprise est activé.

clientType

enum (ClientType)

Facultatif. Type de client (Web, Android ou iOS) Obligatoire lorsque reCAPTCHA Enterprise est activé.

recaptchaVersion

enum (RecaptchaVersion)

Facultatif. Version reCAPTCHA du jeton reCAPTCHA dans captchaResponse. Obligatoire lorsque reCAPTCHA Enterprise est activé.

Corps de la réponse

Message de réponse pour accounts.sendVerificationCode.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "sessionInfo": string
}
Champs
sessionInfo

string

Informations chiffrées sur la session. Vous pouvez l'utiliser dans signInWithPhoneNumber pour authentifier le numéro de téléphone.

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

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

Pour en savoir plus, consultez Authentication Overview.

AutoRetrievalInfo

Informations requises pour récupérer automatiquement un SMS.

Représentation JSON
{
  "appSignatureHash": string
}
Champs
appSignatureHash

string

Hachage de signature de l'application Android pour l'API SMS Retriever du service Google Play.