Method: accounts.signInWithPassword

이메일과 비밀번호로 사용자를 로그인합니다. 로그인에 성공하면 인증된 사용자에게 새 Identity Platform ID 토큰과 갱신 토큰이 발급됩니다.

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

HTTP 요청

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

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

요청 본문

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

JSON 표현
{
  "email": string,
  "password": string,
  "pendingIdToken": string,
  "captchaChallenge": string,
  "captchaResponse": string,
  "instanceId": string,
  "delegatedProjectNumber": string,
  "idToken": string,
  "returnSecureToken": boolean,
  "tenantId": string,
  "clientType": enum (ClientType),
  "recaptchaVersion": enum (RecaptchaVersion)
}
필드
email

string

필수 입력란입니다. 사용자가 로그인할 때 사용하는 이메일입니다. 이메일 길이는 256자(영문 기준) 미만이어야 하며 name@domain.tld 형식이어야 합니다. 이메일은 RFC 822 addr-spec 프로덕션과도 일치해야 합니다.

password

string

필수 입력란입니다. 사용자가 계정에 로그인할 때 제공하는 비밀번호입니다.

pendingIdToken
(deprecated)

string

captchaChallenge
(deprecated)

string

captchaResponse

string

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

instanceId
(deprecated)

string

delegatedProjectNumber
(deprecated)

string (int64 format)

idToken
(deprecated)

string

returnSecureToken

boolean

항상 참이어야 합니다.

tenantId

string

사용자가 로그인하는 Identity Platform 테넌트의 ID입니다. 설정하지 않으면 사용자는 프로젝트의 기본 Identity Platform 인스턴스에 로그인합니다.

clientType

enum (ClientType)

클라이언트 유형(웹, Android 또는 iOS) reCAPTCHA Enterprise가 사용 설정된 경우 필요합니다.

recaptchaVersion

enum (RecaptchaVersion)

captchaResponse의 reCAPTCHA 토큰의 reCAPTCHA 버전입니다.

응답 본문

accounts.signInWithPassword의 응답 메시지입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "kind": string,
  "localId": string,
  "email": string,
  "displayName": string,
  "idToken": string,
  "registered": boolean,
  "profilePicture": string,
  "oauthAccessToken": string,
  "oauthExpireIn": integer,
  "oauthAuthorizationCode": string,
  "refreshToken": string,
  "expiresIn": string,
  "mfaPendingCredential": string,
  "mfaInfo": [
    {
      object (MfaEnrollment)
    }
  ],
  "userNotifications": [
    {
      object (UserNotification)
    }
  ]
}
필드
kind
(deprecated)

string

localId

string

인증된 사용자의 ID입니다. 응답에 항상 표시됩니다.

email

string

인증된 사용자의 이메일입니다. 응답에 항상 표시됩니다.

displayName

string

계정의 속성에 저장된 사용자의 표시 이름입니다.

idToken

string

인증된 사용자의 Identity Platform ID 토큰입니다.

registered
(deprecated)

boolean

이메일이 기존 계정용인지 여부입니다. 항상 true입니다.

profilePicture

string

계정의 속성에 저장된 사용자의 프로필 사진입니다.

oauthAccessToken
(deprecated)

string

OAuth2 액세스 토큰입니다.

oauthExpireIn
(deprecated)

integer

액세스 토큰 만료 시간(초)입니다.

oauthAuthorizationCode
(deprecated)

string

refreshToken

string

인증된 사용자의 Identity Platform 갱신 토큰입니다.

expiresIn

string (int64 format)

Identity Platform ID 토큰이 만료되기 전까지 남은 시간(초)입니다.

mfaPendingCredential

string

사용자가 첫 번째 요소 인증을 통과했음을 증명하는 역할을 하는 불투명 문자열입니다.

mfaInfo[]

object (MfaEnrollment)

계정에 사용 설정된 다중 인증 제공업체에 관한 정보입니다. 사용자가 다중 인증을 사용하여 로그인을 완료해야 하는 경우 표시합니다.

userNotifications[]

object (UserNotification)

사용자를 위한 경고 알림

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

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

자세한 내용은 Authentication Overview를 참고하세요.

UserNotification

사용자를 위한 경고 알림

JSON 표현
{
  "notificationCode": enum (NotificationCode),
  "notificationMessage": string
}
필드
notificationCode

enum (NotificationCode)

경고 알림 enum 현지화에 사용할 수 있습니다.

notificationMessage

string

경고 알림 문자열입니다. 대체로 사용할 수 있습니다.

NotificationCode

경고 알림 enum 현지화에 사용할 수 있습니다.

열거형
NOTIFICATION_CODE_UNSPECIFIED 지정된 알림이 없습니다.
MISSING_LOWERCASE_CHARACTER 비밀번호에 소문자가 없습니다.
MISSING_UPPERCASE_CHARACTER 비밀번호에 대문자가 없습니다.
MISSING_NUMERIC_CHARACTER 비밀번호에 숫자가 없습니다.
MISSING_NON_ALPHANUMERIC_CHARACTER 비밀번호에 영숫자가 아닌 문자가 없습니다.
MINIMUM_PASSWORD_LENGTH 비밀번호가 최소 요구사항보다 짧습니다.
MAXIMUM_PASSWORD_LENGTH 비밀번호가 필요한 최대 길이보다 깁니다.