Method: accounts.createAuthUri

이메일 식별자가 지정된 경우 이메일에 등록된 사용자 계정이 있는지 확인하고 반환합니다. 등록된 계정이 있는 경우 계정의 이메일과 연결된 모든 제공업체를 가져옵니다.

ID 공급업체 (IdP)의 공급업체 ID가 지정된 경우 IdP의 승인 URI를 만듭니다. 사용자는 이 URI로 이동하여 IdP로 로그인할 수 있습니다.

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

HTTP 요청

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

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

요청 본문

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

JSON 표현
{
  "identifier": string,
  "continueUri": string,
  "openidRealm": string,
  "providerId": string,
  "oauthConsumerKey": string,
  "oauthScope": string,
  "context": string,
  "otaApp": string,
  "appId": string,
  "hostedDomain": string,
  "sessionId": string,
  "authFlowType": string,
  "customParameter": {
    string: string,
    ...
  },
  "tenantId": string
}
필드
identifier

string

연결된 제공업체를 가져올 사용자 계정의 이메일 식별자입니다. identifierproviderId 필드 중 하나 이상을 설정해야 합니다.

이메일 주소의 길이는 256자(영문 기준) 미만이어야 하며 name@domain.tld 형식이어야 합니다. 이메일 주소는 RFC 822 addr-spec 프로덕션과도 일치해야 합니다.

continueUri

string

IDP가 사용자를 다시 리디렉션할 수 있는 유효한 URL입니다. URL에는 프래그먼트 또는 예약된 state 쿼리 매개변수가 포함될 수 없습니다.

openidRealm
(deprecated)

string

providerId

string

사용자가 로그인하는 IdP의 제공업체 ID입니다. 로그인에 사용 설정된 제공업체 ID여야 하며, 기본 지원 IdP 목록에 있거나 oidc.* 또는 saml.* 형식이어야 합니다. google.com, facebook.com, oidc.testapp, saml.testapp 등이 여기에 해당합니다. identifierproviderId 필드 중 하나 이상을 설정해야 합니다.

oauthConsumerKey
(deprecated)

string

oauthScope

string

IdP와의 인증 요청 범위를 지정하는 공백으로 구분된 추가 OAuth 2.0 범위입니다. OAuth 2.0 IdP에 사용됩니다.

Google 제공업체의 경우 이 필드가 설정된 경우 승인 코드 흐름이 사용됩니다.

context

string

인증 요청과 IdP의 콜백 간에 컨텍스트 정보를 유지하는 데 사용되는 불투명 문자열입니다.

otaApp
(deprecated)

string

appId
(deprecated)

string

hostedDomain

string

Google 제공업체에 사용됩니다. 해당 도메인의 사용자 로그인을 제한하기 위해 사용자의 G Suite 호스팅 도메인입니다.

sessionId

string

세션 고정 공격을 방지하기 위해 accounts.signInWithIdp에서 확인할 수 있는 세션 ID입니다. 없으면 임의의 문자열이 생성되어 세션 ID로 반환됩니다.

authFlowType

string

Google 제공업체에 사용됩니다. 사용할 인증 흐름의 유형입니다. 이 요소가 있는 경우 승인 코드 흐름을 지정하기 위해 CODE_FLOW여야 합니다. 그렇지 않으면 기본 ID 토큰 흐름이 사용됩니다.

customParameter

map (key: string, value: string)

승인 URI에 추가할 맞춤설정된 추가 쿼리 매개변수입니다. clientId, responseType, scope, redirectUri, state 매개변수는 예약되어 있으며 추가할 수 없습니다.

Microsoft 공급자의 경우 tenant 맞춤 매개변수에서 로그인할 Azure AD 테넌트를 지정할 수 있습니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

tenantId

string

승인 URI를 만들거나 이메일 식별자를 조회할 Identity Platform 테넌트의 ID입니다. 설정하지 않으면 프로젝트의 기본 Identity Platform 인스턴스에서 작업이 실행됩니다.

응답 본문

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

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

JSON 표현
{
  "kind": string,
  "authUri": string,
  "allProviders": [
    string
  ],
  "registered": boolean,
  "providerId": string,
  "forExistingProvider": boolean,
  "captchaRequired": boolean,
  "sessionId": string,
  "signinMethods": [
    string
  ]
}
필드
kind
(deprecated)

string

authUri

string

요청된 제공자의 승인 URI입니다. 요청에 공급자 ID가 설정된 경우에만 표시됩니다.

allProviders[]
(deprecated)

string

registered

boolean

이메일 식별자가 기존 계정을 나타내는지 여부입니다. 요청에 이메일 식별자가 설정된 경우에만 표시됩니다.

providerId

string

요청의 제공업체 ID(제공된 경우)입니다.

forExistingProvider

boolean

사용자가 이전에 요청에 있는 제공업체 ID로 로그인했는지 여부입니다. 요청에 등록된 이메일 식별자가 설정된 경우에만 표시됩니다.

captchaRequired

boolean

사용자가 로그인 시도에 실패한 횟수가 너무 많아 보안문자가 필요한지 여부입니다. 요청에 등록된 이메일 식별자가 설정된 경우에만 표시됩니다.

sessionId

string

요청의 세션 ID 또는 accounts.createAuthUri에서 생성된 무작위 문자열(없는 경우)입니다. 세션 고정 공격을 방지하는 데 사용됩니다.

signinMethods[]

string

사용자가 이전에 사용한 로그인 방법 목록입니다. 각 요소는 password, emailLink 또는 IdP의 공급자 ID 중 하나입니다. 요청에 등록된 이메일 식별자가 설정된 경우에만 표시됩니다. 이메일 열거 보호가 사용 설정된 경우 이 메서드는 빈 목록을 반환합니다.

승인 범위

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

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

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