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 |
ID email akun pengguna yang akan mengambil penyedia terkait. Setidaknya salah satu kolom Panjang alamat email harus kurang dari 256 karakter dan dalam format |
continueUri |
URL yang valid untuk tujuan pengalihan pengguna kembali oleh IdP. URL tidak boleh berisi fragmen atau parameter kueri |
openidRealm |
|
providerId |
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 |
oauthConsumerKey |
|
oauthScope |
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 buram yang digunakan untuk mempertahankan informasi kontekstual antara permintaan autentikasi dan callback dari IdP. |
otaApp |
|
appId |
|
hostedDomain |
Digunakan untuk penyedia Google. Domain pengguna yang dihosting G Suite untuk membatasi login bagi pengguna di domain tersebut. |
sessionId |
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 |
Digunakan untuk penyedia Google. Jenis alur autentikasi yang akan digunakan. Jika ada, nilai ini harus |
customParameter |
Parameter kueri kustom tambahan yang akan ditambahkan ke URI otorisasi. Parameter berikut dicadangkan dan tidak dapat ditambahkan: Untuk penyedia Microsoft, tenant Azure AD yang akan digunakan untuk login dapat ditentukan dalam parameter kustom Objek yang berisi daftar pasangan |
tenantId |
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 |
|
authUri |
URI otorisasi untuk penyedia yang diminta. Hanya ada jika ID penyedia ditetapkan dalam permintaan. |
allProviders[] |
|
registered |
Apakah ID email mewakili akun yang ada. Hanya ada jika ID email ditetapkan dalam permintaan. |
providerId |
ID penyedia dari permintaan, jika disediakan. |
forExistingProvider |
Apakah pengguna sebelumnya telah login dengan ID penyedia dalam permintaan. Hanya ada jika ID email terdaftar ditetapkan dalam permintaan. |
captchaRequired |
Apakah CAPTCHA diperlukan karena ada terlalu banyak upaya login yang gagal oleh pengguna. Hanya ada jika ID email terdaftar ditetapkan dalam permintaan. |
sessionId |
ID sesi dari permintaan, atau string acak yang dihasilkan oleh accounts.createAuthUri jika tidak ada. Fungsi ini digunakan untuk mencegah serangan fiksasi sesi. |
signinMethods[] |
Daftar metode login yang sebelumnya digunakan pengguna. Setiap elemen adalah salah satu dari |
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.