Referensi ini menjelaskan Google 3P Authorization JavaScript Library API, yang dapat Anda gunakan untuk memuat kode otorisasi atau mengakses token dari Google.
Metode: google.accounts.oauth2.initCodeClient
Metode initCodeClient
melakukan inisialisasi dan menampilkan klien kode, dengan
konfigurasi di parameter.
google.accounts.oauth2.initCodeClient(config: CodeClientConfig)
Jenis data: CodeClientConfig
Tabel berikut mencantumkan properti jenis data CodeClientConfig
.
Properti | |
---|---|
client_id
|
Wajib. Client ID untuk aplikasi Anda. Anda dapat menemukan nilai ini di Konsol API. |
scope
|
Wajib. Daftar cakupan yang dipisahkan spasi dan mengidentifikasi resource yang dapat diakses aplikasi Anda atas nama pengguna. Nilai ini menentukan layar izin yang ditampilkan Google kepada pengguna. |
include_granted_scopes |
Opsional, ditetapkan secara default ke true . Memungkinkan aplikasi menggunakan inkremental
otorisasi untuk meminta akses
ke cakupan tambahan sesuai konteks. Jika Anda menetapkan
nilai parameter ini ke false dan permintaan otorisasi akan diberikan, lalu
token akses baru hanya akan mencakup cakupan apa pun yang diminta scope
di CodeClientConfig ini.
|
redirect_uri
|
Diperlukan untuk UX pengalihan. Menentukan tempat server API mengalihkan pengguna setelah pengguna menyelesaikan alur otorisasi. Nilai harus sama persis dengan salah satu URI pengalihan yang diberi otorisasi untuk klien OAuth 2.0, yang Anda konfigurasi di Konsol API dan harus sesuai dengan Aturan validasi URI Pengalihan kami. Properti akan diabaikan oleh UX pop-up. |
callback |
Diperlukan untuk UX pop-up. Fungsi JavaScript yang menangani respons kode yang ditampilkan. Properti ini akan diabaikan oleh UX pengalihan. |
state |
Opsional. Direkomendasikan untuk UX pengalihan. Menentukan nilai string yang digunakan aplikasi untuk mempertahankan status antara permintaan otorisasi dan respons server otorisasi. |
enable_granular_consent |
Opsional, ditetapkan secara default ke true . Jika ditetapkan ke false , izin Akun Google yang lebih terperinci
akan dinonaktifkan untuk client ID OAuth yang dibuat sebelum 2019. Jika enable_granular_consent dan enable_serial_consent disetel, hanya enable_granular_consent
nilai tersebut akan diterapkan dan nilai enable_serial_consent akan diabaikan.Tidak berlaku untuk client ID OAuth yang lebih baru, karena izin yang lebih terperinci selalu diaktifkan untuk ID tersebut. |
enable_serial_consent |
Tidak digunakan lagi, sebagai gantinya Anda harus menggunakan enable_granular_consent . Ini
memiliki efek yang sama dengan enable_granular_consent . Aplikasi yang ada
yang menggunakan enable_serial_consent dapat terus melakukannya, tetapi Anda
sebaiknya perbarui kode Anda untuk menggunakan enable_granular_consent di
update aplikasi Anda berikutnya.
|
login_hint |
Opsional. Jika aplikasi Anda mengetahui pengguna mana yang harus mengizinkan permintaan tersebut, aplikasi dapat menggunakan properti ini untuk memberikan petunjuk login ke Google. Jika berhasil, pemilihan akun akan dilewati. Nilai kolom sub alamat email atau token ID untuk pengguna target.
Untuk informasi selengkapnya, lihat kolom login_hint dalam dokumentasi OpenID Connect.
|
hd |
Opsional. Jika aplikasi Anda mengetahui domain Workspace milik pengguna, gunakan domain ini untuk memberikan petunjuk kepada Google. Jika berhasil, akun pengguna akan dibatasi ke atau telah dipilih sebelumnya untuk domain yang disediakan.
Untuk informasi selengkapnya, lihat kolom hd dalam dokumentasi OpenID Connect.
|
ux_mode |
Opsional. Mode UX yang akan digunakan untuk alur otorisasi. Secara default, tindakan ini akan membuka alur izin di pop-up. Nilai yang valid adalah popup dan redirect .
|
select_account |
Opsional, ditetapkan secara default ke 'false'. Nilai Boolean untuk meminta pengguna memilih akun. |
error_callback |
Opsional. Fungsi JavaScript yang menangani beberapa error non-OAuth, seperti
jendela pop-up gagal dibuka; atau ditutup sebelum respons OAuth
dikembalikan.
Kolom `type` di parameter input memberikan alasan mendetail.
|
Jenis data: CodeClient
Class ini hanya memiliki satu requestCode metode publik, yang memulai OAuth 2.0 Alur kode UX.
interface CodeClient {
requestCode(): void;
}
Jenis data: CodeResponse
Objek JavaScript CodeResponse
akan diteruskan ke metode callback
Anda di
UX pop-up. Di UX pengalihan, CodeResponse
akan diteruskan sebagai URL
parameter.
Tabel berikut mencantumkan properti jenis data CodeResponse
.
Properti | |
---|---|
code |
Kode otorisasi respons token yang berhasil. |
scope |
Daftar cakupan yang dipisahkan spasi yang disetujui oleh pengguna. |
state |
Nilai string yang digunakan aplikasi Anda untuk mempertahankan status antara permintaan otorisasi dan respons. |
error |
Satu kode error ASCII. |
error_description |
Teks ASCII yang dapat dibaca manusia memberikan informasi tambahan, digunakan untuk membantu developer klien memahami {i>error<i} yang terjadi. |
error_uri |
URI yang mengidentifikasi halaman web yang dapat dibaca manusia dengan informasi tentang error, yang digunakan untuk memberikan informasi tambahan tentang error tersebut kepada developer klien. |
Metode: google.accounts.oauth2.initTokenClient
Metode initTokenClient
melakukan inisialisasi dan menampilkan klien token, dengan
konfigurasi di parameter.
google.accounts.oauth2.initTokenClient(config: TokenClientConfig)
Jenis data: TokenClientConfig
Tabel berikut mencantumkan properti jenis data TokenClientConfig
.
Properti | |
---|---|
client_id |
Wajib. Client ID untuk aplikasi Anda. Anda dapat menemukan nilai ini di Konsol API. |
callback |
Wajib. Fungsi JavaScript yang menangani respons token yang ditampilkan. |
scope |
Wajib. Daftar cakupan yang dipisahkan spasi dan mengidentifikasi resource yang dapat diakses aplikasi Anda atas nama pengguna. Nilai ini menentukan layar izin yang ditampilkan Google kepada pengguna. |
include_granted_scopes |
Opsional, ditetapkan secara default ke true . Memungkinkan aplikasi menggunakan inkremental
otorisasi untuk meminta akses
ke cakupan tambahan sesuai konteks. Jika Anda menetapkan
nilai parameter ini ke false dan permintaan otorisasi akan diberikan, lalu
token akses baru hanya akan mencakup cakupan apa pun yang diminta scope
di TokenClientConfig ini.
|
prompt |
Opsional, ditetapkan secara default ke 'select_account'. Dipisahkan spasi,
daftar perintah yang peka huruf besar/kecil
untuk ditampilkan kepada pengguna. Nilai yang dimasukkan adalah:
|
enable_granular_consent |
Opsional, ditetapkan secara default ke true . Jika ditetapkan ke false , izin Akun Google yang lebih terperinci
akan dinonaktifkan untuk client ID OAuth yang dibuat sebelum 2019. Jika enable_granular_consent dan enable_serial_consent disetel, hanya enable_granular_consent
nilai tersebut akan diterapkan dan nilai enable_serial_consent akan diabaikan.Tidak berlaku untuk client ID OAuth yang lebih baru, karena izin yang lebih terperinci selalu diaktifkan untuk ID tersebut. |
enable_serial_consent |
Tidak digunakan lagi, sebagai gantinya Anda harus menggunakan enable_granular_consent . Ini
memiliki efek yang sama dengan enable_granular_consent . Aplikasi yang ada
yang menggunakan enable_serial_consent dapat terus melakukannya, tetapi Anda
sebaiknya perbarui kode Anda untuk menggunakan enable_granular_consent di
update aplikasi Anda berikutnya.
|
login_hint |
Opsional. Jika aplikasi Anda mengetahui pengguna mana yang harus mengizinkan permintaan tersebut, aplikasi dapat menggunakan properti ini untuk memberikan petunjuk login ke Google. Jika berhasil, pemilihan akun akan dilewati. Nilai kolom sub alamat email atau token ID untuk pengguna target.
Untuk informasi selengkapnya, lihat kolom login_hint dalam dokumentasi OpenID Connect.
|
hd |
Opsional. Jika aplikasi Anda mengetahui domain Workspace milik pengguna, gunakan domain ini untuk memberikan petunjuk kepada Google. Jika berhasil, akun pengguna akan dibatasi ke atau telah dipilih sebelumnya untuk domain yang disediakan.
Untuk informasi selengkapnya, lihat kolom hd dalam dokumentasi OpenID Connect.
|
state |
Opsional. Tidak direkomendasikan. Menentukan nilai string yang digunakan aplikasi untuk mempertahankan status antara permintaan otorisasi dan respons server otorisasi. |
error_callback |
Opsional. Fungsi JavaScript yang menangani beberapa error non-OAuth, seperti
jendela pop-up gagal dibuka; atau ditutup sebelum respons OAuth
dikembalikan.
Kolom `type` di parameter input memberikan alasan mendetail.
|
Jenis data: TokenClient
Class ini hanya memiliki satu metode publik requestAccessToken
, yang memulai atribut
Alur UX Token OAuth 2.0.
interface TokenClient {
requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Argumen | ||
---|---|---|
overrideConfig |
OverridableTokenClientConfig | Opsional. Konfigurasi yang akan diganti dalam metode ini. |
Jenis data: OverridableTokenClientConfig
Tabel berikut mencantumkan properti OverridableTokenClientConfig
tipe data.
Properti | |
---|---|
scope |
Opsional. Daftar cakupan yang dipisahkan spasi yang mengidentifikasi resource yang dapat diakses oleh aplikasi Anda atas nama pengguna. Nilai-nilai ini memberi tahu layar izin yang ditampilkan Google kepada pengguna. |
include_granted_scopes |
Opsional, ditetapkan secara default ke true . Memungkinkan aplikasi menggunakan inkremental
otorisasi untuk meminta akses
ke cakupan tambahan sesuai konteks. Jika Anda menetapkan
nilai parameter ini ke false dan permintaan otorisasi akan diberikan, lalu
token akses baru hanya akan mencakup cakupan apa pun yang diminta scope
di OverridableTokenClientConfig ini.
|
prompt |
Opsional. Daftar perintah yang dipisahkan spasi dan peka huruf besar/kecil untuk ditampilkan kepada pengguna. |
enable_granular_consent |
Opsional, ditetapkan secara default ke true . Jika ditetapkan ke false , izin Akun Google yang lebih terperinci
akan dinonaktifkan untuk client ID OAuth yang dibuat sebelum 2019.Jika enable_granular_consent dan enable_serial_consent ditetapkan, hanya enable_granular_consent
nilai tersebut akan diterapkan dan nilai enable_serial_consent akan diabaikan.Tidak berlaku untuk client ID OAuth yang lebih baru, karena izin yang lebih terperinci selalu diaktifkan untuk ID tersebut. |
enable_serial_consent |
Tidak digunakan lagi, sebagai gantinya Anda harus menggunakan enable_granular_consent . Ini
memiliki efek yang sama dengan enable_granular_consent . Aplikasi yang ada
yang menggunakan enable_serial_consent dapat terus melakukannya, tetapi Anda
sebaiknya perbarui kode Anda untuk menggunakan enable_granular_consent di
update aplikasi Anda berikutnya.
|
login_hint |
Opsional. Jika aplikasi Anda mengetahui pengguna mana yang harus mengizinkan permintaan tersebut, aplikasi dapat menggunakan properti ini untuk memberikan petunjuk login ke Google. Jika berhasil, pemilihan akun akan dilewati. Nilai kolom sub alamat email atau token ID untuk pengguna target.
Untuk informasi selengkapnya, lihat kolom login_hint dalam dokumentasi OpenID Connect.
|
state |
Opsional. Tidak direkomendasikan. Menentukan nilai string yang digunakan aplikasi untuk mempertahankan status antara permintaan otorisasi dan respons server otorisasi. |
Jenis data: TokenResponse
Objek JavaScript TokenResponse
akan diteruskan ke metode callback Anda di
UX pop-up.
Tabel berikut mencantumkan properti jenis data TokenResponse
.
Properti | |
---|---|
access_token |
Token akses respons token yang berhasil. |
expires_in |
Masa pakai token akses dalam hitungan detik. |
hd |
Domain yang dihosting pengguna yang login. |
prompt |
Nilai perintah yang digunakan dari kemungkinan daftar nilai yang ditentukan oleh TokenClientConfig atau OverridableTokenClientConfig. |
token_type |
Jenis token yang diterbitkan. |
scope |
Daftar cakupan yang dipisahkan spasi yang disetujui oleh pengguna. |
state |
Nilai string yang digunakan aplikasi Anda untuk mempertahankan status antara permintaan otorisasi dan respons. |
error |
Satu kode error ASCII. |
error_description |
Teks ASCII yang dapat dibaca manusia memberikan informasi tambahan, yang digunakan untuk membantu developer klien memahami error yang terjadi. |
error_uri |
URI yang mengidentifikasi halaman web yang dapat dibaca manusia dengan informasi tentang error, yang digunakan untuk memberikan informasi tambahan tentang error tersebut kepada developer klien. |
Metode: google.accounts.oauth2.hasGrantedAllScopes
Memeriksa apakah pengguna memberikan semua cakupan atau cakupan yang ditentukan.
google.accounts.oauth2.hasGrantedAllScopes(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
Argumen | ||
---|---|---|
tokenResponse |
TokenResponse
|
Wajib. TokenResponse
.
|
firstScope |
string | Wajib. Cakupan yang akan diperiksa. |
restScopes |
{i>string<i}[] | Opsional. Cakupan lain untuk diperiksa. |
Hasil | |
---|---|
boolean | True jika semua cakupan diberikan. |
Metode: google.accounts.oauth2.hasGrantedAnyScope
Memeriksa apakah pengguna memberikan cakupan atau cakupan yang ditentukan.
google.accounts.oauth2.hasGrantedAnyScope(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
Argumen | ||
---|---|---|
tokenResponse |
TokenResponse
|
Wajib. TokenResponse
.
|
firstScope |
string | Wajib. Cakupan yang akan diperiksa. |
restScopes |
{i>string<i}[] | Opsional. Cakupan lain untuk diperiksa. |
Hasil | |
---|---|
boolean | True jika salah satu cakupan diberikan. |
Metode: google.accounts.oauth2.revoke
Metode revoke
mencabut semua cakupan yang diberikan pengguna ke aplikasi.
Token akses yang valid diperlukan untuk mencabut izin.
google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Argumen | ||
---|---|---|
accessToken |
string | Wajib. Token akses yang valid. |
callback |
fungsi | Opsional. RevocationResponse. |
Jenis data: RevocationResponse
Objek JavaScript RevocationResponse
akan diteruskan ke metode callback Anda.
Tabel berikut mencantumkan properti jenis data RevocationResponse
.
Properti | |
---|---|
successful |
Boolean. true aktif, false jika gagal. |
error |
String. Tidak terdefinisi pada kesuksesan. Satu kode error ASCII. Hal ini mencakup, tetapi tidak terbatas pada OAuth standar
Kode error 2.0. Error umum untuk metode revoke :
|
error_description |
String. Tidak terdefinisi pada kesuksesan. Teks ASCII yang dapat dibaca manusia
memberikan informasi tambahan tentang
error . Developer dapat menggunakannya untuk lebih memahami
error yang terjadi. String error_description hanya dalam bahasa Inggris.
Untuk error umum yang tercantum dalam error , error_description yang sesuai:
|