Halaman referensi ini menjelaskan Sign-In JavaScript API. Anda dapat menggunakan API ini untuk menampilkan dialog Sekali Ketuk atau tombol Login Dengan Google di halaman web Anda.
Metode: google.accounts.id.inisialisasi
Metode google.accounts.id.initialize
menginisialisasi Login dengan Google
klien berdasarkan objek konfigurasi. Lihat contoh kode berikut dari
berikut:
google.accounts.id.initialize(IdConfiguration)
Contoh kode berikut mengimplementasikan metode google.accounts.id.initialize
dengan fungsi onload
:
<script>
window.onload = function () {
google.accounts.id.initialize({
client_id: 'YOUR_GOOGLE_CLIENT_ID',
callback: handleCredentialResponse
});
google.accounts.id.prompt();
};
</script>
Metode google.accounts.id.initialize
membuat klien Login dengan Google
yang secara implisit dapat digunakan oleh semua modul dalam laman web yang sama.
- Anda hanya perlu memanggil metode
google.accounts.id.initialize
satu kali jika Anda menggunakan beberapa modul (seperti Sekali Ketuk, tombol yang Dipersonalisasi, pencabutan, dll.) di laman web yang sama. - Jika Anda memanggil metode
google.accounts.id.initialize
beberapa kali, hanya konfigurasi di panggilan terakhir yang akan diingat dan digunakan.
Anda sebenarnya bisa mengatur ulang konfigurasi
setiap kali Anda memanggil
google.accounts.id.initialize
, dan semua metode berikutnya dalam satu
halaman web segera menggunakan konfigurasi baru tersebut.
Jenis data: IdConfiguration
Tabel berikut mencantumkan kolom dan deskripsi IdConfiguration
{i>data type<i} (tipe data):
Kolom | |
---|---|
client_id |
Client ID aplikasi Anda |
auto_select |
Mengaktifkan pemilihan otomatis. |
callback |
Fungsi JavaScript yang menangani token ID. Google One Tap dan
tombol Login Dengan Google popup mode UX menggunakan ini
. |
login_uri |
URL endpoint login Anda. Tombol Login Dengan Google
redirect Mode UX menggunakan atribut ini. |
native_callback |
Fungsi JavaScript yang menangani kredensial sandi. |
cancel_on_tap_outside |
Membatalkan perintah jika pengguna mengklik di luar perintah. |
prompt_parent_id |
ID DOM untuk elemen penampung perintah Sekali Ketuk |
nonce |
String acak untuk token ID |
context |
Judul dan kata dalam perintah Sekali Ketuk |
state_cookie_domain |
Jika Anda perlu memanggil One Tap di domain induk dan subdomainnya, meneruskan domain induk ke kolom ini sehingga satu cookie bersama data |
ux_mode |
Alur UX tombol Login Dengan Google |
allowed_parent_origin |
Asal yang diizinkan untuk menyematkan iframe perantara. Sekali Ketuk dijalankan dalam mode iframe perantara jika kolom ini ada. |
intermediate_iframe_close_callback |
Mengganti perilaku iframe perantara default saat pengguna secara manual menutup fitur Sekali Ketuk. |
itp_support |
Mengaktifkan UX Sekali Ketuk yang diupgrade di browser ITP. |
login_hint |
Lewati pemilihan akun dengan memberikan petunjuk pengguna. |
hd |
Batasi pemilihan akun menurut domain. |
use_fedcm_for_prompt |
Izinkan browser mengontrol perintah login pengguna dan memediasi alur login antara situs Anda dan Google. |
client_id
Kolom ini adalah client ID aplikasi Anda, yang ditemukan dan dibuat di Konsol Google Cloud Anda. Lihat tabel berikut untuk informasi selengkapnya:
Jenis | Wajib | Contoh |
---|---|---|
string | Ya | client_id: "CLIENT_ID.apps.googleusercontent.com" |
auto_select
Kolom ini menentukan apakah token ID otomatis ditampilkan tanpa pengguna
interaksi jika hanya ada satu sesi Google yang telah menyetujui aplikasi Anda
sebelumnya. Nilai default-nya adalah false
. Lihat tabel berikut untuk informasi selengkapnya
informasi:
Jenis | Wajib | Contoh |
---|---|---|
boolean | Opsional | auto_select: true |
callback
Kolom ini adalah fungsi JavaScript yang menangani token ID yang ditampilkan dari
perintah Sekali Ketuk atau jendela pop-up. Atribut ini diperlukan jika Google
Mode UX Sekali Ketuk atau Login Dengan Google popup
digunakan. Lihat
tabel berikut untuk informasi lebih lanjut:
Jenis | Wajib | Contoh |
---|---|---|
fungsi | Diperlukan untuk mode UX Sekali Ketuk dan popup |
callback: handleResponse |
login_uri
Atribut ini adalah URI endpoint login Anda.
Nilai harus sama persis dengan salah satu URI pengalihan yang diberi otorisasi untuk OAuth 2.0, yang telah Anda konfigurasi di konsol Google Cloud dan harus sesuai dengan validasi URI Pengalihan kami aturan.
Atribut ini dapat dihilangkan jika halaman saat ini adalah halaman login Anda, di mana jika kredensial diposting ke halaman ini secara default.
Respons kredensial token ID diposting ke endpoint login Anda saat pengguna mengklik tombol {i>sign In With Google<i} dan menggunakan mode {i>redirect UX<i}.
Lihat tabel berikut untuk informasi selengkapnya:
Jenis | Opsional | Contoh |
---|---|---|
URL | Default-nya adalah URI halaman saat ini, atau nilai yang Anda tentukan. Hanya digunakan saat ux_mode: "redirect" disetel. |
login_uri: "https://www.example.com/login" |
Endpoint login Anda harus menangani permintaan POST yang berisi
Kunci credential
dengan
Nilai token ID dalam isi.
Berikut adalah contoh permintaan ke endpoint login Anda:
POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
credential=ID_TOKEN
native_callback
Kolom ini adalah nama fungsi JavaScript yang menangani sandi kredensial yang ditampilkan dari pengelola kredensial native browser. Lihat tabel berikut untuk informasi lebih lanjut:
Jenis | Wajib | Contoh |
---|---|---|
fungsi | Opsional | native_callback: handleResponse |
cancel_on_tap_outside
Kolom ini menetapkan apakah akan membatalkan permintaan Sekali Ketuk jika pengguna mengklik
di luar prompt. Nilai default-nya adalah true
. Anda dapat menonaktifkannya
jika Anda mengatur
nilai menjadi false
. Lihat tabel berikut untuk informasi selengkapnya:
Jenis | Wajib | Contoh |
---|---|---|
boolean | Opsional | cancel_on_tap_outside: false |
prompt_parent_id
Atribut ini menetapkan ID DOM elemen penampung. Jika tidak disetel, Perintah Sekali Ketuk ditampilkan di pojok kanan atas jendela. Lihat tabel berikut untuk informasi lebih lanjut:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | prompt_parent_id: 'parent_id' |
nonce
Kolom ini adalah string acak yang digunakan oleh token ID untuk mencegah serangan replay. Lihat tabel berikut untuk informasi selengkapnya:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | nonce: "biaqbm70g23" |
Panjang nonce dibatasi hingga ukuran JWT maksimum yang didukung oleh lingkungan Anda, serta batasan ukuran HTTP browser dan server individual.
context
Kolom ini mengubah teks judul dan pesan pada dialog Sekali Ketuk. Lihat tabel berikut untuk informasi lebih lanjut:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | context: "use" |
Tabel berikut mencantumkan semua konteks yang tersedia dan deskripsinya:
Konteks | |
---|---|
signin |
"Login dengan Google" |
signup |
"Daftar dengan Google" |
use |
"Gunakan dengan Google" |
state_cookie_domain
Jika Anda perlu menampilkan fitur Sekali Ketuk di domain induk dan subdomainnya, teruskan domain induk ke kolom ini sehingga satu cookie status bersama digunakan. Lihat tabel berikut untuk informasi lebih lanjut:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | state_cookie_domain: "example.com" |
ux_mode
Gunakan kolom ini untuk mengatur alur UX yang digunakan oleh tombol Login Dengan Google. Nilai defaultnya adalah popup
. Atribut ini tidak memengaruhi UX OneTap. Lihat
tabel berikut untuk informasi lebih lanjut:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | ux_mode: "redirect" |
Tabel berikut mencantumkan mode UX yang tersedia dan deskripsinya.
Mode UX | |
---|---|
popup |
Menjalankan alur UX login di jendela pop-up. |
redirect |
Melakukan alur UX login dengan pengalihan halaman penuh. |
allowed_parent_origin
Asal yang diizinkan untuk menyematkan iframe perantara. Lari Sekali Ketuk pada mode iframe perantara jika kolom ini ada. Lihat yang berikut ini tabel untuk informasi lebih lanjut:
Jenis | Wajib | Contoh |
---|---|---|
string atau array string | Opsional | allowed_parent_origin: "https://example.com" |
Tabel berikut mencantumkan jenis nilai yang didukung dan deskripsinya.
Jenis Nilai | ||
---|---|---|
string |
URI domain tunggal. | "https://example.com" |
string array |
Array URI domain. | ["https://news.example.com", "https://local.example.com"] |
Awalan karakter pengganti juga didukung. Misalnya, "https://*.example.com"
cocok dengan example.com
dan subdomainnya di semua tingkat (mis.
news.example.com
, login.news.example.com
). Hal-hal yang perlu diingat saat menggunakan
karakter pengganti:
- String pola tidak dapat hanya terdiri dari karakter pengganti dan karakter tingkat atas
{i>Directory<i} Misalnya,
https://.com
danhttps://
.co.uk
tidak valid; Seperti disebutkan di atas,"https://.example.com"
cocok denganexample.com
dan subdomainnya. Anda juga dapat menggunakan untuk merepresentasikan 2 domain berbeda. Misalnya,["https://example1.com", "https://
.example2.com"]
kecocokan domainexample1.com
,example2.com
, dan subdomain dariexample2.com
- Domain karakter pengganti harus dimulai dengan skema https:// yang aman, sehingga
"*.example.com"
dianggap tidak valid.
Jika nilai kolom allowed_parent_origin
tidak valid, kolom Sekali Ketuk
inisialisasi mode iframe perantara akan gagal dan berhenti.
intermediate_iframe_close_callback
Mengganti perilaku iframe perantara default saat pengguna menutup One secara manual Ketuk dengan mengetuk 'X' di UI Sekali Ketuk. Perilaku defaultnya adalah langsung hapus iframe perantara dari DOM.
Kolom intermediate_iframe_close_callback
hanya berlaku di perantara
dalam mode iframe. Dan hanya berdampak pada iframe perantara, bukan pada
iframe Sekali Ketuk. UI Sekali Ketuk dihapus sebelum callback dipanggil.
Jenis | Wajib | Contoh |
---|---|---|
fungsi | Opsional | intermediate_iframe_close_callback: logBeforeClose |
itp_support
Bidang ini menentukan apakah
UX Sekali Ketuk yang diupgrade
harus diaktifkan di browser yang mendukung Intelligent Tracking Prevention
(ITP). Nilai defaultnya adalah false
. Lihat tabel berikut untuk informasi selengkapnya
informasi:
Jenis | Wajib | Contoh |
---|---|---|
boolean | Opsional | itp_support: true |
login_hint
Jika aplikasi Anda tahu sebelumnya pengguna mana yang harus login, aplikasi itu memberikan petunjuk login ke Google. Jika berhasil, pemilihan akun akan dilewati. Nilai yang diterima adalah: alamat email atau nilai kolom token ID sub.
Untuk informasi lebih lanjut, lihat kolom login_hint di OpenID Connect dokumentasi tambahan.
Jenis | Wajib | Contoh |
---|---|---|
String, alamat email, atau nilai dari token ID
Kolom sub . |
Opsional | login_hint: 'elisa.beckett@gmail.com' |
hd
Jika pengguna memiliki beberapa akun dan hanya boleh login dengan Workspace miliknya
menggunakan akun ini untuk memberikan
petunjuk nama domain ke Google. Jika berhasil, pengguna
akun yang ditampilkan selama pemilihan akun dibatasi untuk domain yang disediakan.
Nilai karakter pengganti: *
hanya menawarkan akun Workspace kepada pengguna dan mengecualikan
akun konsumen (pengguna@gmail.com) selama pemilihan akun.
Untuk informasi selengkapnya, lihat kolom hd dalam dokumentasi OpenID Connect.
Jenis | Wajib | Contoh |
---|---|---|
String. Nama domain atau * yang sepenuhnya memenuhi syarat. | Opsional | hd: '*' |
use_fedcm_for_prompt
Mengizinkan browser mengontrol perintah login pengguna dan memediasi alur login antara situs Anda dan Google. Nilai defaultnya adalah false (salah). Lihat Bermigrasi ke FedCM untuk informasi selengkapnya.
Jenis | Wajib | Contoh |
---|---|---|
boolean | Opsional | use_fedcm_for_prompt: true |
Metode: google.accounts.id.prompt
Metode google.accounts.id.prompt
menampilkan perintah Sekali Ketuk atau
pengelola kredensial native browser setelah metode initialize()
dipanggil.
Lihat contoh kode metode berikut:
google.accounts.id.prompt(/**
@type{(function(!PromptMomentNotification):void)=} */ momentListener)
Biasanya, metode prompt()
dipanggil saat pemuatan halaman. Karena sesi
status dan setelan pengguna di sisi Google, UI perintah Sekali Ketuk mungkin tidak
ditampilkan. Untuk mendapatkan notifikasi tentang status UI untuk momen yang berbeda, teruskan
untuk menerima notifikasi status UI.
Notifikasi diaktifkan pada momen berikut:
- Momen tampilan: Hal ini terjadi setelah metode
prompt()
dipanggil. Tujuan berisi nilai boolean untuk menunjukkan apakah UI ditampilkan atau tidak. Momen yang dilewati: Hal ini terjadi ketika dialog Sekali Ketuk ditutup oleh tombol otomatis pembatalan, pembatalan manual, atau saat Google gagal memberikan kredensial, seperti saat sesi yang dipilih telah logout dari Google.
Jika demikian, sebaiknya Anda melanjutkan ke langkah-langkah yang diperlukan penyedia layanan, jika ada.
Momen ditutup: Hal ini terjadi saat Google berhasil mengambil kredensial atau pengguna ingin menghentikan alur pengambilan kredensial. Sebagai misalnya, saat pengguna mulai memasukkan nama pengguna dan {i>password<i} mereka di dialog login, Anda dapat memanggil metode
google.accounts.id.cancel()
untuk menutup perintah Sekali Ketuk dan memicu momen ditutup.
Contoh kode berikut menerapkan momen yang dilewati:
<script>
window.onload = function () {
google.accounts.id.initialize(...);
google.accounts.id.prompt((notification) => {
if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
// continue with another identity provider.
}
});
};
</script>
Jenis data: PromptMomentNotification
Tabel berikut mencantumkan metode dan deskripsi atribut
Jenis data PromptMomentNotification
:
Metode | |
---|---|
isDisplayMoment() |
Apakah notifikasi ini untuk momen tampilan? Catatan: Jika FedCM diaktifkan, notifikasi ini tidak akan diaktifkan. Lihat Bermigrasi ke FedCM untuk informasi selengkapnya. |
isDisplayed() |
Apakah notifikasi ini untuk momen tampilan, dan UI-nya adalah
ditampilkan? Catatan: Jika FedCM diaktifkan, notifikasi ini tidak akan diaktifkan. Lihat Bermigrasi ke FedCM untuk informasi selengkapnya. |
isNotDisplayed() |
Apakah notifikasi ini hanya untuk momen tampilan, dan UI-nya tidak
ditampilkan? Catatan: Jika FedCM diaktifkan, notifikasi ini tidak akan diaktifkan. Lihat Bermigrasi ke FedCM untuk informasi selengkapnya. |
getNotDisplayedReason() |
Alasan mendetail mengapa UI tidak ditampilkan. Berikut ini adalah nilai yang mungkin:
|
isSkippedMoment() |
Apakah notifikasi ini dilewati sebentar? |
getSkippedReason() |
Alasan mendetail untuk momen yang dilewati. Berikut ini adalah nilai yang mungkin:
|
isDismissedMoment() |
Apakah notifikasi ini untuk momen yang ditutup? |
getDismissedReason() |
Alasan mendetail atas penolakan tersebut. Hal berikut mungkin terjadi nilai-nilai:
|
getMomentType() |
Menampilkan string untuk jenis momen. Hal berikut mungkin terjadi nilai-nilai:
|
Jenis data: CredentialResponse
Saat fungsi callback
dipanggil, objek CredentialResponse
akan
diteruskan sebagai parameter. Tabel berikut mencantumkan kolom yang terdapat
dalam objek respons kredensial:
Kolom | |
---|---|
credential |
Kolom ini adalah token ID yang ditampilkan. |
select_by |
Kolom ini menetapkan cara kredensial dipilih. |
state |
Kolom ini hanya ditentukan saat pengguna mengklik Login dengan Google
untuk login, dan state dari tombol
ditentukan. |
kredensial
Kolom ini adalah token ID sebagai string JSON Web Token (JWT) berenkode base64.
Kapan didekode, JWT terlihat seperti contoh berikut:
header { "alg": "RS256", "kid": "f05415b13acb9590f70df862765c655f5a7a019e", // JWT signature "typ": "JWT" } payload { "iss": "https://accounts.google.com", // The JWT's issuer "nbf": 161803398874, "aud": "314159265-pi.apps.googleusercontent.com", // Your server's client ID "sub": "3141592653589793238", // The unique ID of the user's Google Account "hd": "gmail.com", // If present, the host domain of the user's GSuite email address "email": "elisa.g.beckett@gmail.com", // The user's email address "email_verified": true, // true, if Google has verified the email address "azp": "314159265-pi.apps.googleusercontent.com", "name": "Elisa Beckett", // If present, a URL to user's profile picture "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler", "given_name": "Elisa", "family_name": "Beckett", "iat": 1596474000, // Unix timestamp of the assertion's creation time "exp": 1596477600, // Unix timestamp of the assertion's expiration time "jti": "abc161803398874def" }
Kolom sub
adalah ID unik global untuk Akun Google. Hanya
Gunakan kolom sub
sebagai ID untuk pengguna karena bersifat unik di antara semua fitur Google
Akun dan tidak pernah digunakan kembali. Jangan gunakan alamat email sebagai ID karena
Akun Google dapat memiliki beberapa alamat email di waktu yang berbeda.
Dengan kolom email
, email_verified
, dan hd
, Anda dapat menentukan apakah Google
{i>host<i} dan bersifat otoritatif
untuk alamat email. Dalam kasus di mana Google
otoritatif, pengguna dipastikan
sebagai pemilik akun yang sah.
Kasus saat Google bersifat otoritatif:
email
memiliki akhiran@gmail.com
, ini adalah Akun Gmail.email_verified
benar danhd
ditetapkan, ini adalah Google Workspace menggunakan akun layanan.
Pengguna dapat mendaftar ke Akun Google tanpa menggunakan Gmail atau Google Workspace.
Jika email
tidak berisi akhiran @gmail.com
dan hd
tidak ada, Google akan
tidak otoritatif dan menggunakan {i>password<i}
atau metode verifikasi lainnya disarankan untuk
memverifikasi pengguna. email_verfied
juga bisa benar karena Google awalnya diverifikasi
pengguna saat Akun Google dibuat, namun kepemilikan
akun email pihak ketiga mungkin telah berubah.
Kolom exp
menunjukkan waktu habis masa berlaku bagi Anda untuk memverifikasi token di
sisi server. Satu jam
untuk token ID yang diperoleh dari Login dengan Google. Anda harus memverifikasi
token sebelum masa berlaku habis
baik. Jangan gunakan exp
untuk pengelolaan sesi. Token ID yang sudah tidak berlaku
bukan berarti pengguna telah logout. Aplikasi Anda bertanggung jawab atas sesi
pengelolaan pengguna Anda.
select_by
Tabel berikut mencantumkan kemungkinan nilai untuk kolom select_by
. Tujuan
jenis tombol yang digunakan bersama dengan sesi dan status izin digunakan untuk menetapkan
nilai,
Pengguna menekan tombol Sekali Ketuk atau Login Dengan Google atau tombol proses login Otomatis tanpa kontak fisik.
Sesi yang ada ditemukan, atau pengguna memilih dan login ke Akun Google untuk membuat sesi baru.
Sebelum berbagi kredensial token ID dengan aplikasi Anda, pengguna juga
- menekan tombol {i>Confirm<i} untuk memberikan izin mereka untuk berbagi kredensial, atau
- sebelumnya telah memberikan izin dan menggunakan fitur Pilih Akun untuk memilih Akun Google.
Nilai isian ini diatur ke salah satu jenis ini,
Nilai | Deskripsi |
---|---|
auto |
Proses login otomatis pengguna dengan sesi yang ada dan telah sebelumnya memberikan izin untuk berbagi kredensial. Hanya berlaku untuk yang tidak didukung oleh FedCM. |
user |
Pengguna yang sudah memiliki sesi, yang sebelumnya telah memberikan izin menekan tombol 'Lanjutkan sebagai' Sekali Ketuk untuk membagikan kredensial. Berlaku hanya untuk browser yang tidak didukung FedCM. |
fedcm |
Pengguna menekan tombol Sekali Ketuk 'Lanjutkan sebagai' tombol untuk berbagi kredensial menggunakan FedCM. Hanya berlaku untuk FedCM didukung browser. |
fedcm_auto |
Proses login otomatis pengguna dengan sesi yang ada dan telah sebelumnya memberikan izin untuk membagikan kredensial menggunakan Sekali Ketuk FedCM. Hanya berlaku untuk FedCM didukung browser. |
user_1tap |
Pengguna dengan sesi yang ada menekan tombol Sekali Ketuk 'Lanjutkan sebagai' untuk memberikan izin dan membagikan kredensial. Hanya berlaku untuk Chrome v75 dan yang lebih tinggi. |
user_2tap |
Pengguna tanpa sesi yang ada menekan tombol Sekali Ketuk 'Lanjutkan sebagai' untuk memilih akun, lalu menekan tombol Konfirmasi di untuk memberikan izin dan membagikan kredensial. Berlaku untuk browser yang tidak berbasis Chromium. |
btn |
Pengguna dengan sesi yang sudah ada, yang sebelumnya memberikan izin menekan tombol Sign In With Google dan memilih Akun Google dari 'Pilih Akun' untuk berbagi kredensial. |
btn_confirm |
Pengguna dengan sesi yang ada menekan tombol Login Dengan Google dan menekan tombol {i>Confirm<i} untuk memberikan izin dan membagikan kredensial. |
btn_add_session |
Pengguna yang tidak memiliki sesi yang sebelumnya telah mengizinkan izin menekan tombol Login Dengan Google untuk memilih Akun Google dan berbagi kredensial. |
btn_confirm_add_session |
Pengguna tanpa sesi yang ada terlebih dahulu menekan tombol Login dengan Google untuk memilih Akun Google, lalu menekan tombol Konfirmasi untuk mengizinkan dan membagikan kredensial. |
dengan status tersembunyi akhir
Kolom ini hanya ditentukan saat pengguna mengklik tombol Login dengan Google untuk
login, dan atribut state
tombol yang diklik ditentukan. Tujuan
isian ini adalah nilai yang sama dengan
yang Anda tetapkan dalam atribut
Atribut state
.
Karena beberapa tombol Login dengan Google dapat dirender di halaman yang sama, Anda
menetapkan setiap tombol
dengan {i>string<i} unik. Oleh karena itu, Anda dapat mengubah kolom state
ini
untuk mengidentifikasi tombol mana
yang diklik pengguna untuk masuk.
Metode: google.accounts.id.renderButton
Metode google.accounts.id.renderButton
merender Login dengan Google
di laman web Anda.
Lihat contoh kode metode berikut:
google.accounts.id.renderButton(
/** @type{!HTMLElement} */ parent,
/** @type{!GsiButtonConfiguration} */ options
)
Jenis data: GsiButtonConfiguration
Tabel berikut mencantumkan kolom dan deskripsi atribut
Jenis data GsiButtonConfiguration
:
Atribut | |
---|---|
type |
Jenis tombol: ikon, atau tombol standar. |
theme |
Tema tombol. Misalnya, fill_blue ataufilled_black. |
size |
Ukuran tombol. Misalnya, kecil atau besar. |
text |
Teks tombol. Misalnya, "Login dengan Google" atau "Daftar dengan Google". |
shape |
Bentuk tombol. Misalnya, persegi panjang atau lingkaran. |
logo_alignment |
Perataan logo Google: kiri atau tengah. |
width |
Lebar tombol, dalam piksel. |
locale |
Jika disetel, bahasa tombol akan dirender. |
click_listener |
Jika disetel, fungsi ini akan dipanggil saat Login dengan Google diklik. |
state |
Jika ditetapkan, string ini akan ditampilkan dengan token ID. |
Jenis atribut
Bagian berikut berisi detail tentang setiap jenis atribut dan contoh.
jenis
Jenis tombol. Nilai default-nya adalah standard
.
Lihat tabel berikut untuk informasi selengkapnya:
Jenis | Wajib | Contoh |
---|---|---|
string | Ya | type: "icon" |
Tabel berikut mencantumkan jenis tombol yang tersedia dan deskripsi:
Jenis | |
---|---|
standard |
|
icon |
tema
Tema tombol. Nilai default-nya adalah outline
. Lihat tabel berikut untuk
informasi lebih lanjut:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | theme: "filled_blue" |
Tabel berikut mencantumkan tema yang tersedia dan deskripsinya:
Tema | |
---|---|
outline |
|
filled_blue |
|
filled_black |
ukuran
Ukuran tombol. Nilai default-nya adalah large
. Lihat tabel berikut untuk
informasi lebih lanjut:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | size: "small" |
Tabel berikut mencantumkan ukuran tombol yang tersedia dan deskripsinya:
Ukuran | |
---|---|
large |
|
medium |
|
small |
teks
Teks tombol. Nilai default-nya adalah signin_with
. Tidak ada visualisasi
perbedaan untuk teks tombol ikon yang memiliki atribut text
berbeda.
Satu-satunya pengecualian adalah saat teks dibaca untuk aksesibilitas layar.
Lihat tabel berikut untuk informasi selengkapnya:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | text: "signup_with" |
Tabel berikut mencantumkan semua teks tombol yang tersedia dan deskripsi:
Teks | |
---|---|
signin_with |
|
signup_with |
|
continue_with |
|
signin |
bentuk
Bentuk tombol. Nilai default-nya adalah rectangular
. Lihat tabel berikut
untuk informasi lebih lanjut:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | shape: "rectangular" |
Tabel berikut mencantumkan bentuk tombol yang tersedia dan deskripsinya:
Bentuk | |
---|---|
rectangular |
|
pill |
|
circle |
|
square |
logo_alignment
Penyelarasan logo Google. Nilai default-nya adalah left
. Atribut ini
hanya berlaku untuk jenis tombol standard
. Lihat tabel berikut untuk informasi selengkapnya
informasi:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | logo_alignment: "center" |
Tabel berikut mencantumkan penyelarasan yang tersedia dan deskripsinya:
logo_alignment | |
---|---|
left |
|
center |
lebar
Lebar tombol minimum, dalam piksel. Lebar maksimum adalah 400 piksel.
Lihat tabel berikut untuk informasi selengkapnya:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | width: "400" |
locale
Opsional. Tampilkan teks tombol menggunakan lokal yang ditentukan, jika tidak, akan digunakan secara default
dengan setelan Akun Google atau browser pengguna. Tambahkan parameter hl
dan
kode bahasa Anda ke perintah src saat memuat library, misalnya:
gsi/client?hl=<iso-639-code>
.
Jika tidak disetel, lokalitas default browser atau bahasa pengguna sesi Google preferensi yang digunakan. Oleh karena itu, pengguna yang berbeda mungkin melihat versi yang berbeda dari tombol yang dilokalkan, dan mungkin dengan ukuran yang berbeda.
Lihat tabel berikut untuk informasi selengkapnya:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | locale: "zh_CN" |
click_listener
Anda dapat menentukan fungsi JavaScript yang akan dipanggil saat Login dengan Google
diklik menggunakan atribut click_listener
.
google.accounts.id.renderButton(document.getElementById("signinDiv"), { theme: 'outline', size: 'large', click_listener: onClickHandler }); function onClickHandler(){ console.log("Sign in with Google button clicked...") }
Dalam contoh ini, pesan Tombol Login dengan Google diklik... dicatat ke konsol ketika tombol {i> sign in with Google<i} diklik.
dengan status tersembunyi akhir
Opsional, karena beberapa tombol Login dengan Google dapat dirender secara bersamaan Anda dapat menetapkan setiap tombol dengan string unik. {i>String<i} yang sama akan kembali dengan token ID, sehingga Anda dapat mengidentifikasi pengguna tombol mana mengklik untuk login.
Lihat tabel berikut untuk informasi selengkapnya:
Jenis | Wajib | Contoh |
---|---|---|
string | Opsional | data-state: "button 1" |
Jenis data: Kredensial
Jika
native_callback
dipanggil, objek Credential
diteruskan sebagai parameter. Tujuan
tabel berikut mencantumkan kolom yang terdapat dalam objek:
Kolom | |
---|---|
id |
Mengidentifikasi pengguna. |
password |
Sandi |
Metode: google.accounts.id.disableAutoSelect
Saat pengguna logout dari situs, Anda harus memanggil metode
google.accounts.id.disableAutoSelect
untuk mencatat status di cookie. Ini
dan mencegah UX berhenti berfungsi. Lihat cuplikan kode metode berikut:
google.accounts.id.disableAutoSelect()
Contoh kode berikut mengimplementasikan google.accounts.id.disableAutoSelect
dengan fungsi onSignout()
:
<script>
function onSignout() {
google.accounts.id.disableAutoSelect();
}
</script>
Metode: google.accounts.id.storeCredential
Metode ini adalah wrapper untuk metode store()
native browser
kredensial API. Oleh karena itu, sandi hanya dapat digunakan untuk menyimpan sandi
kredensial. Lihat contoh kode metode berikut:
google.accounts.id.storeCredential(Credential, callback)
Contoh kode berikut mengimplementasikan google.accounts.id.storeCredential
dengan fungsi onSignIn()
:
<script>
function onSignIn() {
let cred = {id: '...', password: '...'};
google.accounts.id.storeCredential(cred);
}
</script>
Metode: google.accounts.id.cancel
Anda dapat membatalkan alur Sekali Ketuk jika menghapus perintah dari pihak tepercaya DOM. Operasi pembatalan akan diabaikan jika kredensial sudah dipilih. Lihat contoh kode metode berikut:
google.accounts.id.cancel()
Contoh kode berikut mengimplementasikan metode google.accounts.id.cancel()
dengan fungsi onNextButtonClicked()
:
<script>
function onNextButtonClicked() {
google.accounts.id.cancel();
showPasswordPage();
}
</script>
Callback pemuatan library: onGoogleLibraryLoad
Anda dapat mendaftarkan callback onGoogleLibraryLoad
. Ini diberi tahu setelah Tanda
Di Dengan library JavaScript Google dimuat:
window.onGoogleLibraryLoad = () => {
...
};
Callback ini hanyalah pintasan untuk callback window.onload
. Tidak ada
perbedaan perilaku.
Contoh kode berikut mengimplementasikan callback onGoogleLibraryLoad
:
<script>
window.onGoogleLibraryLoad = () => {
google.accounts.id.initialize({
...
});
google.accounts.id.prompt();
};
</script>
Metode: google.accounts.id.revoke
Metode google.accounts.id.revoke
mencabut pemberian OAuth yang digunakan untuk membagikan
Token ID untuk pengguna yang ditentukan. Lihat cuplikan kode metode berikut:
javascript
google.accounts.id.revoke(login_hint, callback)
Parameter | Jenis | Deskripsi |
---|---|---|
login_hint |
string | Alamat email atau ID unik Akun Google pengguna. ID adalah properti sub dari
payload kredensial. |
callback |
fungsi | Pengendali RevocationResponse opsional. |
Contoh kode berikut menunjukkan cara menggunakan metode revoke
dengan sebuah ID.
google.accounts.id.revoke('1618033988749895', done => { console.log(done.error); });
Jenis data: RevocationResponse
Saat fungsi callback
dipanggil, objek RevocationResponse
akan
diteruskan sebagai parameter. Tabel berikut mencantumkan kolom yang terdapat
di objek respons pencabutan:
Kolom | |
---|---|
successful |
Kolom ini adalah nilai yang ditampilkan dari panggilan metode. |
error |
Kolom ini secara opsional berisi pesan respons error mendetail. |
berhasil
Kolom ini adalah nilai boolean yang disetel ke benar (true) jika panggilan metode pencabutan berhasil atau false jika gagal.
error
Kolom ini berupa nilai string dan berisi pesan error mendetail jika operasi pencabutan panggilan metode gagal, panggilan tidak terdefinisi jika berhasil.