Method: accounts.createAuthUri

Jika ID email ditentukan, periksa dan tampilkan apakah ada akun pengguna yang terdaftar dengan email tersebut. Jika ada akun terdaftar, mengambil semua penyedia yang terkait dengan email akun.

Jika ID penyedia Penyedia Identitas (IdP) ditentukan, buat URI otorisasi untuk IdP. Pengguna dapat diarahkan ke URI ini untuk login dengan IdP.

Kunci API diperlukan dalam permintaan untuk mengidentifikasi project Google Cloud.

Permintaan HTTP

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

URL menggunakan sintaks gRPC Transcoding.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi 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
}
Kolom
identifier

string

ID email akun pengguna yang akan mengambil penyedia terkait. Setidaknya salah satu kolom identifier dan providerId harus ditetapkan.

Panjang alamat email harus kurang dari 256 karakter dan dalam format name@domain.tld. Alamat email juga harus cocok dengan produksi addr-spec RFC 822.

continueUri

string

URL yang valid untuk tujuan pengalihan pengguna kembali oleh IdP. URL tidak boleh berisi fragmen atau parameter kueri state yang dicadangkan.

openidRealm
(deprecated)

string

providerId

string

ID penyedia IdP yang akan digunakan pengguna untuk login. Ini harus berupa ID penyedia yang diaktifkan untuk login, yang berasal dari daftar IdP default yang didukung, atau dalam format oidc.* atau saml.*. Beberapa contohnya adalah google.com, facebook.com, oidc.testapp, dan saml.testapp. Setidaknya salah satu kolom identifier dan providerId harus ditetapkan.

oauthConsumerKey
(deprecated)

string

oauthScope

string

Cakupan OAuth 2.0 tambahan yang dipisahkan spasi yang menentukan cakupan permintaan autentikasi dengan IdP. Digunakan untuk IdP OAuth 2.0.

Untuk penyedia Google, alur kode otorisasi akan digunakan jika kolom ini ditetapkan.

context

string

String buram yang digunakan untuk mempertahankan informasi kontekstual antara permintaan autentikasi dan callback dari IdP.

otaApp
(deprecated)

string

appId
(deprecated)

string

hostedDomain

string

Digunakan untuk penyedia Google. Domain pengguna yang dihosting G Suite untuk membatasi login bagi pengguna di domain tersebut.

sessionId

string

ID sesi yang dapat diverifikasi di accounts.signInWithIdp untuk mencegah serangan session fixation. Jika tidak ada, string acak akan dibuat dan ditampilkan sebagai ID sesi.

authFlowType

string

Digunakan untuk penyedia Google. Jenis alur autentikasi yang akan digunakan. Jika ada, nilai ini harus CODE_FLOW untuk menentukan alur kode otorisasi. Jika tidak, alur Token ID default akan digunakan.

customParameter

map (key: string, value: string)

Parameter kueri kustom tambahan yang akan ditambahkan ke URI otorisasi. Parameter berikut dicadangkan dan tidak dapat ditambahkan: clientId, responseType, scope, redirectUri, state.

Untuk penyedia Microsoft, tenant Azure AD yang akan digunakan untuk login dapat ditentukan dalam parameter kustom tenant.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tenantId

string

ID tenant Identity Platform untuk membuat URI otorisasi atau mencari ID email. Jika tidak ditetapkan, operasi akan dilakukan di instance Identity Platform default dalam project.

Isi respons

Pesan respons untuk accounts.createAuthUri.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "kind": string,
  "authUri": string,
  "allProviders": [
    string
  ],
  "registered": boolean,
  "providerId": string,
  "forExistingProvider": boolean,
  "captchaRequired": boolean,
  "sessionId": string,
  "signinMethods": [
    string
  ]
}
Kolom
kind
(deprecated)

string

authUri

string

URI otorisasi untuk penyedia yang diminta. Hanya ada jika ID penyedia ditetapkan dalam permintaan.

allProviders[]
(deprecated)

string

registered

boolean

Apakah ID email mewakili akun yang ada. Hanya ada jika ID email ditetapkan dalam permintaan.

providerId

string

ID penyedia dari permintaan, jika disediakan.

forExistingProvider

boolean

Apakah pengguna sebelumnya telah login dengan ID penyedia dalam permintaan. Hanya ada jika ID email terdaftar ditetapkan dalam permintaan.

captchaRequired

boolean

Apakah CAPTCHA diperlukan karena ada terlalu banyak upaya login yang gagal oleh pengguna. Hanya ada jika ID email terdaftar ditetapkan dalam permintaan.

sessionId

string

ID sesi dari permintaan, atau string acak yang dihasilkan oleh accounts.createAuthUri jika tidak ada. Fungsi ini digunakan untuk mencegah serangan fiksasi sesi.

signinMethods[]

string

Daftar metode login yang sebelumnya digunakan pengguna. Setiap elemen adalah salah satu dari password, emailLink, atau ID penyedia IdP. Hanya ada jika ID email terdaftar ditetapkan dalam permintaan. Jika perlindungan enumerasi email diaktifkan, metode ini akan menampilkan daftar kosong.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

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

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.