Method: accounts.sendVerificationCode

전화번호 로그인을 위한 SMS 인증 코드를 전송합니다.

사용자에게 전송된 SMS의 텍스트를 현지화하려면 HTTP 헤더 X-Firebase-Locale를 사용자의 언어에 해당하는 언어 코드로 설정합니다.

Google Cloud 프로젝트를 식별하려면 요청에 API 키가 필요합니다.

HTTP 요청

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

URL은 gRPC 트랜스코딩 구문을 사용합니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

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의 응답에서 가져와야 합니다. 있는 경우 호출자는 iosSecretx-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가 사용 설정되지 않음) 인증 코드가 에뮬레이터가 아닌 실제 앱을 대신하여 전송되고 있는지 확인하려면 (iosReceiptiosSecret), recaptchaToken 또는 safetyNetToken 중 하나 이상을 지정해야 합니다. SafetyNet 토큰은 phoneNumber 필드의 Base64 인코딩을 nonce로 사용하여 SafetyNet Android Attestation API를 통해 생성할 수 있습니다.

playIntegrityToken

string

Android 전용입니다. recaptcha 토큰 (및 safetyNetToken) 대신 애플리케이션 ID를 어설션하는 데 사용됩니다. 'captchaResponse'가 사용되지 않는 경우 (reCAPTCHA Enterprise가 사용 설정되지 않음) 인증 코드가 에뮬레이터가 아닌 실제 앱을 대신하여 전송되고 있는지 확인하려면 (iosReceiptiosSecret), recaptchaToken, 또는 playIntegrityToken 중 하나 이상을 지정해야 합니다. Play Integrity 토큰은 phoneNumber 필드에 SHA256을 nonce로 적용하여 PlayIntegrity API를 통해 생성할 수 있습니다.

captchaResponse

string

선택사항입니다. reCAPTCHA 클라이언트 측 통합에서 제공하는 reCAPTCHA Enterprise 토큰입니다. reCAPTCHA Enterprise가 사용 설정된 경우 필요합니다.

clientType

enum (ClientType)

선택사항입니다. 클라이언트 유형(웹, 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 앱의 서명 해시입니다.