Halaman ini menjelaskan implementasi Google sebagai penyedia OpenID Connect dan memberikan referensi teknis untuk endpoint OIDC Google. Spesifikasi OpenID Connect (OIDC) Core 1.0 menentukan protokol untuk mengautentikasi pengguna dan mendapatkan informasi identitas.
Referensi ini tidak dimaksudkan untuk memberikan petunjuk langkah demi langkah tentang cara menerapkan OIDC; untuk mengetahui detail penerapan, lihat panduan OpenID Connect.
Dokumen Discovery
Dokumen Penemuan berisi metadata tentang konfigurasi OpenID Connect Google seperti yang ditentukan dalam spesifikasi OpenID Connect Discovery 1.0.
URL: https://accounts.google.com/.well-known/openid-configuration
Metode permintaan yang didukung: GET
Isi respons
Kolom respons ditampilkan dalam objek JSON di isi respons HTTP
terhadap permintaan GET pemohon ke
https://accounts.google.com/.well-known/openid-configuration.
| Kolom | Jenis | Deskripsi |
|---|---|---|
issuer |
string |
ID Penerbit. URL peka huruf besar/kecil menggunakan skema https. Nilai modernnya adalah https://accounts.google.com; namun, accounts.google.com juga ditampilkan untuk penerapan lama. |
authorization_endpoint |
string |
URL Endpoint Otorisasi. |
device_authorization_endpoint |
string |
URL Endpoint Otorisasi Perangkat. |
token_endpoint |
string |
URL Endpoint Token. |
userinfo_endpoint |
string |
URL Endpoint UserInfo. |
revocation_endpoint |
string |
URL Endpoint Pencabutan. |
jwks_uri |
string |
URL dokumen JSON Web Key Set (JWKS). |
response_types_supported |
array |
Daftar nilai response_type yang didukung. |
response_modes_supported |
array |
Daftar nilai response_mode yang didukung. |
authorization_response_iss_parameter_supported |
boolean |
Boolean yang menunjukkan dukungan untuk RFC 9207. |
subject_types_supported |
array |
Daftar jenis ID subjek yang didukung. |
id_token_signing_alg_values_supported |
array |
Daftar algoritma yang didukung untuk menandatangani Token ID. |
scopes_supported |
array |
Daftar nilai cakupan yang didukung. |
claims_supported |
array |
Daftar klaim yang didukung. |
token_endpoint_auth_methods_supported |
array |
Daftar metode autentikasi yang didukung untuk Endpoint Token. |
code_challenge_methods_supported |
array |
Daftar metode tantangan kode yang didukung untuk PKCE. |
grant_types_supported |
array |
Daftar Jenis Pemberian Izin OAuth 2.0 yang didukung. |
Token ID (Klaim)
Nilai id_token yang ditampilkan dalam respons adalah Token Web JSON (JWT) bertanda tangan yang harus diverifikasi menggunakan materi utama yang diperoleh dari jwks_uri yang ditemukan dalam Dokumen Penemuan. Tabel berikut menjelaskan isi payload Token ID yang didekode.
| Klaim | Jenis | Deskripsi |
|---|---|---|
iss |
string |
Wajib. ID Penerbit untuk Penerbit respons. Biasanya https://accounts.google.com; namun, accounts.google.com juga ditampilkan untuk penerapan lama. |
sub |
string |
Wajib. ID untuk pengguna, unik di antara semua Akun Google dan tidak pernah digunakan kembali. Akun Google dapat memiliki beberapa alamat email pada waktu yang berbeda, tetapi nilai sub tidak pernah diubah. Gunakan sub dalam aplikasi Anda sebagai kunci ID unik untuk pengguna. Panjang maksimum 255 karakter ASCII peka huruf besar/kecil. |
azp |
string |
ID Klien presenter yang berwenang, yang diperoleh dari Konsol Google Cloud. Klaim ini hanya diperlukan jika pihak yang meminta Token ID tidak sama dengan audiens Token ID. |
aud |
string |
Wajib. Audiens yang dituju oleh Token ID. Ini adalah ID Klien aplikasi Anda, yang diperoleh dari konsol Google Cloud. |
iat |
integer |
Wajib. Waktu penerbitan Token ID. Direpresentasikan dalam waktu epoch Unix (detik bilangan bulat). |
exp |
integer |
Wajib. Waktu habis masa berlaku saat atau setelah Token ID tidak boleh diterima. Direpresentasikan dalam waktu epoch Unix (detik bilangan bulat). |
nonce |
string |
Nilai nonce yang diberikan oleh aplikasi Anda dalam permintaan autentikasi. Anda harus melindungi dari serangan replay dengan menampilkan nilai ini hanya sekali. |
auth_time |
integer |
Waktu terjadinya autentikasi pengguna, angka JSON yang mewakili jumlah detik yang telah berlalu sejak epoch Unix (1 Januari 1970, 00.00.00 UTC). Disediakan saat klaim auth_time disertakan dalam parameter claims permintaan autentikasi. |
at_hash |
string |
Hash token akses. Memberikan validasi bahwa Token Akses terikat ke token identitas. Jika Token ID dikeluarkan dengan nilai access_token dalam alur server, klaim ini akan selalu disertakan. |
email |
string |
Alamat email pengguna. Disediakan hanya jika Anda menyertakan cakupan email dalam permintaan Anda. Nilai klaim ini mungkin tidak unik untuk akun ini dan dapat berubah dari waktu ke waktu, oleh karena itu Anda tidak boleh menggunakan nilai ini sebagai ID utama untuk ditautkan ke data pengguna Anda. Anda juga tidak dapat mengandalkan domain klaim email untuk mengidentifikasi pengguna organisasi Google Workspace atau Cloud; gunakan klaim hd sebagai gantinya. Peringatan: Jangan gunakan alamat email sebagai ID karena Akun Google dapat memiliki beberapa alamat email pada waktu yang berbeda. Selalu gunakan kolom sub sebagai ID untuk pengguna. |
email_verified |
boolean |
Benar jika alamat email pengguna telah diverifikasi; salah jika tidak. |
name |
string |
Nama lengkap pengguna, dalam bentuk yang dapat ditampilkan. Mungkin diberikan saat cakupan permintaan menyertakan string profile atau Token ID ditampilkan dari refresh token. |
picture |
string |
URL foto profil pengguna. Dapat diberikan jika cakupan permintaan menyertakan string profile atau token ID ditampilkan dari refresh token. |
given_name |
string |
Nama depan pengguna. Mungkin diberikan jika klaim name ada. |
family_name |
string |
Nama belakang pengguna. Mungkin diberikan jika klaim name ada. |
hd |
string |
Domain yang terkait dengan organisasi Google Workspace atau Cloud pengguna. Disediakan hanya jika pengguna termasuk dalam organisasi Google Cloud. Anda harus memeriksa klaim ini saat membatasi akses ke resource hanya untuk anggota domain tertentu. Tidak adanya klaim ini menunjukkan bahwa akun tersebut bukan milik domain yang dihosting Google. |
Endpoint Otorisasi
Endpoint Otorisasi digunakan untuk mengautentikasi pengguna dan mendapatkan Kode Otorisasi atau token.
URL: https://accounts.google.com/o/oauth2/v2/auth
Metode permintaan yang didukung: GET, POST
Parameter permintaan
| Parameter | Jenis | Wajib diisi | Deskripsi |
|---|---|---|---|
client_id |
string |
Wajib | String ID Klien yang Anda peroleh dari konsol Google Cloud. |
nonce |
string |
Opsional | Nilai acak yang dihasilkan oleh aplikasi Anda yang memungkinkan perlindungan replay. Hanya diperlukan jika meminta Token ID (jika response_type menyertakan id_token). |
response_type |
string |
Wajib | Menentukan alur yang akan digunakan. Jika nilainya adalah code, akan meluncurkan Alur Kode Otorisasi, yang memerlukan POST ke Endpoint Token untuk mendapatkan token. Jika nilainya adalah token, id_token, token id_token, atau id_token token, akan meluncurkan alur Implisit, yang memerlukan penggunaan JavaScript di URI Pengalihan untuk mengambil token dari fragmen URI. Penggunaan token dalam bentuk apa pun sangat tidak dianjurkan karena mengekspos Token Akses di URL; nilai ini dilarang di OAuth 2.1. |
response_mode |
string |
Opsional | Menentukan cara Respons Otorisasi dikirimkan. Jika response_type adalah code, defaultnya adalah query. Untuk jenis respons lainnya, defaultnya adalah fragment. Nilai yang didukung: query, fragment, form_post. |
redirect_uri |
string |
Wajib | Menentukan tujuan pengiriman respons. Nilai parameter ini harus sama persis dengan salah satu nilai pengalihan yang sah yang Anda tetapkan di konsol Google Cloud (termasuk skema HTTP atau HTTPS, huruf besar/kecil, dan '/' di akhir, jika ada). URI pengalihan dan asal JavaScript resmi harus mengikuti aturan validasi yang diuraikan dalam dokumentasi validasi URI OAuth 2.0. |
scope |
string |
Wajib | Daftar cakupan yang tidak diurutkan dan dipisahkan spasi. Daftar harus menyertakan nilai openid, lalu menyertakan nilai profile, nilai email, atau keduanya. Anda juga dapat menyertakan cakupan non-OIDC. Jika nilai cakupan profile ada, Token ID mungkin (tetapi tidak dijamin) menyertakan klaim profile default pengguna. Jika nilai cakupan email ada, Token ID akan menyertakan klaim email dan email_verified. Untuk mengetahui informasi selengkapnya, lihat Cakupan OAuth 2.0. |
state |
string |
Disarankan | String buram yang dipertukarkan dalam protokol; artinya, string ini ditampilkan sebagai parameter URI dalam alur Kode Otorisasi, dan dalam fragmen URI dalam alur Implisit. state dapat berguna untuk menghubungkan permintaan dan respons. Karena redirect_uri Anda dapat ditebak, penggunaan nilai state dapat meningkatkan kepastian Anda bahwa koneksi masuk adalah hasil dari permintaan autentikasi yang dimulai oleh aplikasi Anda. Hal ini memberikan perlindungan terhadap serangan seperti pemalsuan permintaan lintas situs. |
access_type |
string |
Opsional | Nilai yang diizinkan adalah offline dan online. Jika aplikasi Anda perlu memperbarui Token Akses saat pengguna tidak berada di browser, gunakan offline. Nilai ini diperlukan agar Token Refresh ditampilkan. |
hd |
string |
Opsional | Menyederhanakan proses login untuk akun yang dimiliki oleh organisasi Google Cloud. Dengan menyertakan domain organisasi Google Cloud (misalnya, mycollege.edu), Anda dapat menunjukkan bahwa UI pemilihan akun harus dioptimalkan untuk akun di domain tersebut. Untuk mengoptimalkan akun organisasi Google Cloud secara umum, bukan hanya satu domain organisasi Google Cloud, tetapkan nilai tanda bintang (*): hd=*. |
login_hint |
string |
Opsional | Saat mengetahui pengguna mana yang sedang mencoba diautentikasi, aplikasi Anda dapat memberikan parameter ini sebagai petunjuk ke server autentikasi. Meneruskan petunjuk ini akan menyembunyikan pemilih akun dan mengisi kotak email pada formulir login, atau memilih sesi yang tepat, yang dapat membantu Anda menghindari masalah yang terjadi jika aplikasi Anda login ke akun pengguna yang salah. Nilainya dapat berupa alamat email atau string sub, yang setara dengan ID Google pengguna. |
prompt |
string |
Opsional | Daftar nilai string yang dipisahkan dengan spasi yang menentukan apakah Server Otorisasi meminta pengguna untuk melakukan autentikasi ulang dan memberikan izin. Nilai yang mungkin: none (tanpa UI), consent (minta izin), select_account (minta untuk memilih akun). |
hl |
string |
Opsional | Tag bahasa BCP 47 yang digunakan untuk menentukan bahasa tampilan untuk layar login, pemilih akun, dan izin. Penggunaan parameter ini tidak disarankan, karena setelan browser dan preferensi Akun Google biasanya merupakan indikator yang lebih baik untuk preferensi bahasa pengguna. |
include_granted_scopes |
boolean |
Opsional | Jika parameter ini diberikan dengan nilai true, dan permintaan otorisasi diberikan, otorisasi akan mencakup otorisasi sebelumnya yang diberikan untuk kombinasi pengguna/aplikasi ini untuk cakupan lain; lihat Otorisasi inkremental. |
claims |
object |
Opsional | Parameter klaim digunakan untuk menentukan satu atau beberapa kolom opsional yang akan disertakan dalam Respons UserInfo atau Token ID. Untuk meminta klaim auth_time, gunakan claims={\"id_token\":{\"auth_time\":{\"essential\":true}}}. |
Parameter respons
Respons Otorisasi dikirimkan ke URI Pengalihan Klien
(redirect_uri) menggunakan pengalihan HTTP GET. Parameter respons ditambahkan ke URI Pengalihan di string kueri atau fragmen URL, bergantung pada response_type dan response_mode.
| Parameter | Jenis | Deskripsi |
|---|---|---|
iss |
string |
ID penerbit. Sesuai dengan RFC 9207, parameter ini selalu ditampilkan dan disetel ke https://accounts.google.com. |
code |
string |
Kode Otorisasi yang dapat ditukar dengan Token Akses dan Token ID. |
state |
string |
Nilai yang sama dengan parameter state dari permintaan. |
id_token |
string |
Token Web JSON (JWT) yang berisi informasi identitas tentang pengguna. |
access_token |
string |
Token Akses yang dapat dikirim ke Google API. |
token_type |
string |
Jenis token yang ditampilkan. Selalu Bearer. |
expires_in |
integer |
Masa berlaku token akses dalam detik, relatif terhadap waktu token diterbitkan. |
scope |
string |
Cakupan akses yang diberikan oleh code atau access_token dinyatakan sebagai daftar string yang peka huruf besar/kecil dan dipisahkan spasi. |
error |
string |
Kode error jika permintaan gagal. |
error_description |
string |
Deskripsi error jika permintaan gagal. |
Respons Error
Untuk Endpoint Otorisasi, error ditampilkan ke
redirect_uri Klien sebagai parameter dalam string kueri atau fragmen URL, atau ditampilkan
kepada pengguna sebagai halaman error yang dihosting Google.
Error yang Dialihkan
Kode error berikut dapat ditampilkan ke redirect_uri Anda:
| Error | Deskripsi |
|---|---|
access_denied |
Pengguna atau Server Otorisasi menolak permintaan. |
invalid_request |
Permintaan tidak menyertakan parameter wajib, menyertakan nilai parameter yang tidak valid, menyertakan parameter lebih dari sekali, atau salah format. |
unauthorized_client |
Klien tidak diizinkan untuk meminta Kode Otorisasi menggunakan metode ini. |
unsupported_response_type |
Server Otorisasi tidak mendukung perolehan Kode Otorisasi menggunakan metode ini. |
invalid_scope |
Cakupan yang diminta tidak valid, tidak diketahui, atau salah format. |
Error yang dihadapi pengguna
Dalam beberapa kasus, seperti saat client_id atau redirect_uri tidak valid, Server Otorisasi tidak dapat mengalihkan pengguna kembali ke aplikasi Anda dengan aman.
Dalam kasus ini, halaman error ditampilkan langsung kepada pengguna.
| Error | Deskripsi |
|---|---|
admin_policy_enforced |
Akun Google tidak dapat mengizinkan satu atau beberapa cakupan yang diminta karena kebijakan administrator Google Workspace-nya. Lihat artikel bantuan Admin Google Workspace untuk mengetahui informasi selengkapnya tentang cara administrator dapat membatasi akses hingga akses diberikan secara eksplisit ke ID Klien OAuth Anda. |
disallowed_useragent |
Endpoint otorisasi ditampilkan di dalam agen pengguna sematan yang tidak diizinkan oleh Kebijakan OAuth 2.0 Google. |
org_internal |
ID Klien OAuth dalam permintaan adalah bagian dari project yang membatasi akses ke Akun Google di Organisasi Google Cloud tertentu. |
deleted_client |
Klien OAuth yang digunakan untuk membuat permintaan telah dihapus. Penghapusan dapat terjadi secara manual atau otomatis dalam kasus klien yang tidak digunakan. |
invalid_grant |
Parameter code_challenge tidak valid atau tidak ada saat menggunakan PKCE. Saat me-refresh Token Akses atau menggunakan otorisasi inkremental, token mungkin telah habis masa berlakunya, dibatalkan, atau akun pengguna mungkin telah dihapus atau dinonaktifkan. |
redirect_uri_mismatch |
redirect_uri yang diteruskan dalam permintaan tidak cocok dengan URI Pengalihan yang sah untuk ID Klien. Tinjau URI Pengalihan yang diotorisasi di Konsol Google Cloud. Error ini juga dapat terjadi jika permintaan menggunakan alur OAuth di luar band (OOB) yang tidak digunakan lagi. |
invalid_client |
Asal tempat permintaan dibuat tidak diizinkan untuk klien ini, konfigurasi klien salah, atau Rahasia Klien OAuth salah. |
origin_mismatch |
Skema, domain, dan/atau port JavaScript yang memulai permintaan otorisasi tidak cocok dengan URI asal JavaScript resmi yang terdaftar untuk ID Klien OAuth. Tinjau asal JavaScript resmi di konsol Google Cloud. |
invalid_request |
Terjadi masalah pada permintaan. Hal ini dapat disebabkan oleh permintaan yang salah format, parameter wajib yang tidak ada, atau penggunaan metode otorisasi yang tidak didukung Google. |
Endpoint Token
Endpoint Token digunakan untuk menukarkan Kode Otorisasi dengan Token Akses dan Token ID.
URL: https://oauth2.googleapis.com/token
Metode permintaan yang didukung: POST
Parameter permintaan (Authorization Code Grant)
| Parameter | Jenis | Wajib diisi | Deskripsi |
|---|---|---|---|
code |
string |
Wajib | Kode Otorisasi yang diterima dari endpoint otorisasi. |
client_id |
string |
Wajib | ID Klien untuk aplikasi Anda, yang diperoleh dari konsol Google Cloud. |
client_secret |
string |
Wajib | Rahasia Klien untuk aplikasi Anda, yang diperoleh dari konsol Google Cloud. |
redirect_uri |
string |
Wajib | URI Pengalihan yang digunakan dalam permintaan otorisasi awal. URI pengalihan dan asal JavaScript resmi harus mengikuti aturan validasi yang diuraikan dalam dokumentasi validasi URI OAuth 2.0. |
grant_type |
string |
Wajib | Harus ditetapkan ke authorization_code. |
Parameter permintaan (Alur Perangkat)
| Parameter | Jenis | Wajib diisi | Deskripsi |
|---|---|---|---|
client_id |
string |
Wajib | ID Klien untuk aplikasi Anda, yang diperoleh dari konsol Google Cloud. |
client_secret |
string |
Wajib | Rahasia Klien untuk aplikasi Anda, yang diperoleh dari konsol Google Cloud. |
device_code |
string |
Wajib | device_code yang ditampilkan oleh endpoint otorisasi perangkat. |
grant_type |
string |
Wajib | Harus ditetapkan ke urn:ietf:params:oauth:grant-type:device_code. |
Parameter permintaan (Memperbarui Token Akses)
| Parameter | Jenis | Wajib diisi | Deskripsi |
|---|---|---|---|
client_id |
string |
Wajib | ID Klien untuk aplikasi Anda, yang diperoleh dari konsol Google Cloud. |
client_secret |
string |
Wajib | Rahasia Klien untuk aplikasi Anda, yang diperoleh dari konsol Google Cloud. |
grant_type |
string |
Wajib | Harus disetel ke refresh_token seperti yang ditentukan dalam spesifikasi Token Refresh OpenID Connect. |
refresh_token |
string |
Wajib | Token Penyegaran yang ditampilkan dari pertukaran Kode Otorisasi. |
scope |
string |
Opsional | Daftar cakupan yang dipisahkan spasi yang diminta untuk Token Akses baru. Cakupan yang diminta harus merupakan subset dari cakupan yang diberikan dalam permintaan otorisasi asli. |
Isi respons
Kolom respons ditampilkan dalam objek JSON di isi respons HTTP
terhadap permintaan POST pemohon ke
https://oauth2.googleapis.com/token.
| Kolom | Jenis | Deskripsi |
|---|---|---|
access_token |
string |
Token Akses yang dapat dikirim ke Google API. |
expires_in |
integer |
Masa berlaku Token Akses dalam detik, relatif terhadap waktu token diterbitkan. |
id_token |
string |
Token Web JSON (JWT) yang berisi informasi identitas tentang pengguna. Token ini ditampilkan selama pertukaran Kode Otorisasi awal dan juga dapat ditampilkan selama permintaan Token Refresh jika cakupan openid diberikan. |
scope |
string |
Cakupan akses yang diberikan oleh access_token yang dinyatakan sebagai daftar string yang peka huruf besar/kecil dan dipisahkan spasi. |
token_type |
string |
Jenis token yang ditampilkan. Selalu Bearer. |
refresh_token |
string |
(Opsional) Token yang dapat digunakan untuk mendapatkan Token Akses baru. Kolom ini hanya ditampilkan dalam pertukaran awal Kode Otorisasi jika access_type=offline diminta. |
refresh_token_expires_in |
integer |
(Opsional) Masa aktif Token Refresh yang tersisa dalam hitungan detik. Nilai ini hanya ditetapkan saat pengguna memberikan akses berbasis waktu. |
Respons error
Jika permintaan gagal, Server Otorisasi akan menampilkan objek JSON dengan kolom berikut:
| Kolom | Jenis | Deskripsi |
|---|---|---|
error |
string |
Kode error. |
error_description |
string |
Deskripsi error jika permintaan gagal. |
Tabel berikut menjelaskan kemungkinan kode error dan kode status HTTP terkait:
| Error | Kode Status HTTP | Deskripsi |
|---|---|---|
invalid_request |
400 |
Permintaan tidak menyertakan parameter yang diperlukan, menyertakan nilai parameter yang tidak valid, atau salah format. |
invalid_client |
401 |
Autentikasi klien gagal. Misalnya, client_id atau client_secret tidak valid, atau jenis klien salah. |
invalid_grant |
400 |
Kode Otorisasi, Token Refresh, atau kode perangkat yang diberikan tidak valid, telah habis masa berlakunya, dicabut, atau tidak cocok dengan URI Pengalihan yang digunakan dalam permintaan otorisasi. |
unauthorized_client |
400 |
Klien yang diautentikasi tidak diizinkan untuk menggunakan Jenis Pemberian otorisasi ini. |
unsupported_grant_type |
400 |
Jenis Pemberian Otorisasi tidak didukung oleh Server Otorisasi. |
invalid_scope |
400 |
Cakupan yang diminta tidak valid, tidak diketahui, atau salah format. |
authorization_pending |
428 |
(Alur Perangkat) Pengguna belum menyelesaikan alur otorisasi. |
slow_down |
429 |
(Alur Perangkat) Perangkat mengirim permintaan polling terlalu sering. |
access_denied |
403 |
(Alur Perangkat) Pengguna menolak memberikan akses ke perangkat. |
expired_token |
400 |
(Alur Perangkat) Masa berlaku device_code telah berakhir. |
admin_policy_enforced |
400 |
Pengguna tidak dapat mengizinkan cakupan yang diminta karena kebijakan yang diterapkan oleh administrator Google Workspace mereka. |
org_internal |
403 |
ID Klien adalah bagian dari project yang membatasi akses ke Organisasi Google Cloud tertentu. |
Endpoint Otorisasi Perangkat
Endpoint Otorisasi Perangkat digunakan dalam Alur Perangkat OAuth 2.0 untuk mendapatkan Kode Pengguna dan URL verifikasi bagi perangkat dengan kemampuan input terbatas.
URL: https://oauth2.googleapis.com/device/code
Metode permintaan yang didukung: POST
Parameter permintaan
| Parameter | Jenis | Wajib diisi | Deskripsi |
|---|---|---|---|
client_id |
string |
Wajib | ID Klien untuk aplikasi Anda, yang diperoleh dari konsol Google Cloud. |
scope |
string |
Wajib | Daftar cakupan yang dipisahkan dengan spasi yang mengidentifikasi resource yang dapat diakses aplikasi Anda atas nama pengguna. |
Isi respons
Responsnya adalah objek JSON yang berisi kolom berikut:
| Kolom | Jenis | Deskripsi |
|---|---|---|
device_code |
string |
Nilai yang ditetapkan Google secara unik untuk mengidentifikasi perangkat yang menjalankan aplikasi yang meminta otorisasi. |
user_code |
string |
Nilai peka huruf besar/kecil yang mengidentifikasi cakupan yang diminta aksesnya oleh aplikasi kepada Google. Antarmuka pengguna Anda akan menginstruksikan pengguna untuk memasukkan nilai ini di perangkat terpisah dengan kemampuan input yang lebih kaya. |
verification_url |
string |
URL yang harus dibuka pengguna di perangkat terpisah untuk memasukkan user_code dan memberikan atau menolak akses ke aplikasi Anda. |
expires_in |
integer |
Durasi, dalam detik, saat device_code dan user_code valid. |
interval |
integer |
Durasi waktu, dalam detik, yang harus ditunggu perangkat Anda di antara permintaan polling. |
Endpoint Pembatalan
Endpoint Pencabutan memungkinkan aplikasi Anda mencabut Token Akses atau Token Refresh.
URL: https://oauth2.googleapis.com/revoke
Metode permintaan yang didukung: POST
Parameter permintaan
| Parameter | Jenis | Wajib diisi | Deskripsi |
|---|---|---|---|
token |
string |
Wajib | Token Akses atau Token Refresh yang ingin Anda batalkan. |
Isi respons
Jika pencabutan berhasil, responsnya adalah HTTP 200 OK kosong. Jika
pencabutan gagal, respons error akan ditampilkan dalam objek JSON.
| Kolom | Jenis | Deskripsi |
|---|---|---|
error |
string |
Kode error jika permintaan gagal. |
error_description |
string |
Deskripsi error jika permintaan gagal. |
Tabel berikut menjelaskan kemungkinan kode error:
| Error | Deskripsi |
|---|---|
invalid_token |
Masa berlaku token yang diberikan dalam permintaan sudah habis atau token sudah dicabut. |
invalid_request |
Permintaan tidak menyertakan parameter yang diperlukan, menyertakan nilai parameter yang tidak valid, atau salah format. |
Endpoint UserInfo
Endpoint UserInfo menampilkan informasi profil tentang pengguna terautentikasi.
URL: https://openidconnect.googleapis.com/v1/userinfo
Metode permintaan yang didukung: GET, POST
Header permintaan
| Header | Deskripsi |
|---|---|
Authorization |
Wajib. Harus ditetapkan ke Bearer: access_token. |
Isi respons
Kolom respons ditampilkan dalam objek JSON di isi respons HTTP
terhadap permintaan GET atau POST pemohon ke
https://openidconnect.googleapis.com/v1/userinfo.
| Kolom | Jenis | Deskripsi |
|---|---|---|
sub |
string |
Wajib. ID untuk pengguna, unik di antara semua Akun Google dan tidak pernah digunakan kembali. String peka huruf besar/kecil yang tidak melebihi 255 karakter. |
name |
string |
Nama lengkap pengguna, dalam bentuk yang dapat ditampilkan. |
given_name |
string |
Nama depan pengguna. |
family_name |
string |
Nama belakang pengguna. |
picture |
string |
URL foto profil pengguna. |
email |
string |
Alamat email pengguna. |
email_verified |
boolean |
Apakah alamat email pengguna telah diverifikasi. |
hd |
string |
Domain yang dihosting terkait dengan organisasi Google Workspace atau Cloud pengguna. |
Endpoint Tokeninfo
Endpoint tokeninfo adalah implementasi khusus Google yang digunakan untuk memvalidasi
token ID untuk tujuan proses debug.
URL: https://oauth2.googleapis.com/tokeninfo
Metode permintaan yang didukung: GET, POST
Parameter permintaan
| Parameter | Jenis | Wajib diisi | Deskripsi |
|---|---|---|---|
id_token |
string |
Wajib | Token ID yang akan divalidasi. |
Isi respons
Kolom respons ditampilkan dalam objek JSON di isi respons HTTP
terhadap permintaan GET atau POST pemohon ke
https://oauth2.googleapis.com/tokeninfo.
| Kolom | Jenis | Deskripsi |
|---|---|---|
iss |
string |
ID penerbit. Selalu https://accounts.google.com. |
sub |
string |
ID untuk pengguna, unik di antara semua Akun Google dan tidak pernah digunakan kembali. |
aud |
string |
Audiens yang dituju oleh Token ID. Ini adalah ID Klien aplikasi Anda, yang diperoleh dari konsol Google Cloud. |
iat |
integer |
Waktu saat JWT diterbitkan. Direpresentasikan sebagai jumlah detik dari 1970-01-01T0:0:0Z sebagaimana diukur dalam UTC. |
exp |
integer |
Waktu habis masa berlaku saat atau setelah Token ID tidak boleh diterima untuk diproses. Direpresentasikan sebagai jumlah detik dari 1970-01-01T0:0:0Z sebagaimana diukur dalam UTC. |
email |
string |
Alamat email pengguna. |
email_verified |
string |
Apakah alamat email pengguna telah diverifikasi. Nilai adalah string "true" atau "false". |
access_type |
string |
Jenis akses yang diminta dalam permintaan otorisasi asli. |
azp |
string |
ID Klien presenter yang berwenang, yang diperoleh dari Konsol Google Cloud. |
scope |
string |
Daftar cakupan yang diberikan ke token yang dipisahkan spasi. |
alg |
string |
Algoritma yang digunakan untuk menandatangani Token ID. |
kid |
string |
ID kunci yang digunakan untuk menandatangani Token ID. |
typ |
string |
Jenis token. Selalu JWT. |