Cloud OAuth API (cloudoauth.googleapis.com) menyediakan pertukaran dan autentikasi token OAuth 2.0 dan OpenID Connect (OIDC) untuk Workforce Identity Federation.
Cloud OAuth API mengautentikasi pengguna Google Cloud . API ini
memungkinkan aplikasi Anda mengalihkan pengguna ke endpoint otorisasi
(https://auth.cloud.google/authorize) untuk mendapatkan kode otorisasi. Kemudian, aplikasi Anda dapat menukar kredensial eksternal, kode otorisasi, atau token refresh dengan token akses OAuth 2.0 dan token ID OIDC yang berumur singkat.
API ini didasarkan pada spesifikasi OAuth 2.0 Token Exchange (RFC 8693) dan OAuth 2.0 Authorization Framework (RFC 6749).
Perbandingan dengan Security Token Service
Secara historis,Security Token Service (sts.googleapis.com) Google Cloud
menangani pertukaran token untuk Workforce Identity Federation dan
Workload Identity Federation.
Cloud OAuth API mendukung pertukaran token yang sama dengan Security Token Service, tetapi dikhususkan untuk traffic Workforce Identity Federation. Pemisahan ini mengisolasi pertukaran token tenaga kerja dari traffic workload, yang membantu mencegah gangguan lintas layanan dan memungkinkan kapasitas tenaga kerja diskalakan secara independen dari Security Token Service. Bergantung pada status integrasi Anda, ikuti panduan berikut:
- Integrasi baru: Alihkan pengguna ke endpoint otorisasi
(
https://auth.cloud.google/authorize) dan tukarkan token menggunakan Cloud OAuth API (cloudoauth.googleapis.com). - Integrasi yang ada: Jika Anda menggunakan Security Token Service
(
sts.googleapis.com/v1/oauthtokenatausts.googleapis.com/v1/token), beralihlah kecloudoauth.googleapis.com.
Endpoint yang didukung
Tabel berikut mencantumkan endpoint yang Anda gunakan dalam integrasi Cloud OAuth API. Sebagian besar endpoint ini adalah endpoint dengan cakupan organisasi (tenant tunggal) yang menyediakan pengelolaan dan penemuan kunci yang terisolasi saat aplikasi dan resource klien Anda dibatasi untuk satu organisasi Google Cloud.
Di URL endpoint cakupan organisasi, ganti
ORGANIZATION_ID dengan ID organisasi Google Cloud
numerik Anda:
| Endpoint | Metode | URL | Deskripsi |
|---|---|---|---|
| Penemuan OpenID Connect | GET |
https://auth.cloud.google/oidc/organizations/ORGANIZATION_ID/.well-known/openid-configuration
|
Menampilkan metadata konfigurasi penyedia OpenID Connect Discovery 1.0 (dokumen discovery) untuk organisasi. |
| Otorisasi | GET |
https://auth.cloud.google/authorize |
Mengalihkan pengguna gabungan untuk login dengan penyedia identitas (IdP) mereka dan menampilkan kode otorisasi ke URI pengalihan aplikasi Anda. |
| Pertukaran token | POST |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/token
|
Menukarkan kode otorisasi atau token refresh dengan token akses OAuth 2.0 dan token ID OIDC. |
| JSON Web Key Set (JWKS) | GET |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/.well-known/jwks.json
|
Menampilkan JSON Web Key (JWK) publik yang digunakan untuk memverifikasi tanda tangan token ID OIDC yang dikeluarkan untuk organisasi. |
| Info pengguna | GET |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/userinfo
|
Mengambil klaim standar OIDC, klaim direktori kustom, dan keanggotaan grup untuk pengguna yang diautentikasi. |
| Grup perusahaan | GET |
https://cloudoauth.googleapis.com/v1/common/groups |
Mengambil keanggotaan grup perusahaan yang diberi nomor halaman untuk pengguna yang diautentikasi. |
Endpoint otorisasi
Dalam alur kode otorisasi OAuth 2.0 dan OIDC, aplikasi Anda mengalihkan
pengguna gabungan ke endpoint otorisasi terpadu Google Cloud
(https://auth.cloud.google/authorize) untuk login dengan IdP mereka. Setelah
autentikasi berhasil, endpoint otorisasi akan mengalihkan pengguna ke
URI pengalihan aplikasi Anda dengan kode otorisasi. Kemudian, aplikasi Anda
akan menukar kode ini dengan token di
endpoint pertukaran token.
Endpoint penemuan OIDC dan JWKS
Untuk integrasi OIDC Looker, Cloud OAuth API menyediakan endpoint publik yang tidak diautentikasi dan tercakup dalam organisasi untuk konfigurasi klien dan verifikasi token:
- Endpoint penemuan OpenID Connect: Menyediakan metadata konfigurasi penyedia OpenID Connect Discovery 1.0 (dokumen penemuan) untuk organisasi.
Dokumen discovery menyertakan ID
issuerorganisasi dan URL endpoint (authorization_endpoint,token_endpoint,userinfo_endpoint, danjwks_uri). Dokumen ini juga mencantumkan cakupan, klaim, algoritma penandatanganan (RS256), dan metode tantangan kode Proof Key for Code Exchange (PKCE) (S256) yang didukung. - Endpoint JSON Web Key Set (JWKS): Menyediakan
JSON Web Key Set (JWKS) publik untuk
organisasi. Aplikasi menggunakan Kunci Web JSON (JWK) publik dalam array
keysuntuk memverifikasi tanda tangan kriptografis token ID OIDC (id_token) yang dikeluarkan oleh Cloud OAuth API.
Dalam integrasi OIDC standar, aplikasi Anda menggunakan endpoint ini dalam urutan berikut:
- Mengambil dokumen discovery: Kirim permintaan
GETke endpoint discovery OpenID Connect (/.well-known/openid-configuration) dan baca URL endpoint (authorization_endpoint,token_endpoint,jwks_uri, danuserinfo_endpoint). - Minta kode otorisasi: Alihkan pengguna ke
authorization_endpoint(https://auth.cloud.google/authorize) untuk login dengan IdP mereka dan menerima kode otorisasi di URI pengalihan aplikasi Anda. - Menukarkan kode otorisasi dengan token: Kirim permintaan
POSTketoken_endpoint(/token) untuk menukarkan kode otorisasi dengan token akses OAuth 2.0 dan token ID OIDC (id_token). - Memverifikasi token ID: Ambil kunci publik organisasi dari
jwks_uri(/.well-known/jwks.json) dan gunakan untuk memverifikasi tanda tangan kriptografisid_token. - Opsional: Ambil info pengguna: Kirim permintaan
GETdengan token akses keuserinfo_endpoint(/userinfo) untuk mengambil klaim profil pengguna dan keanggotaan grup tambahan.
Langkah berikutnya
- Menukarkan token dengan Cloud OAuth API
- Mengambil info pengguna dengan Cloud OAuth API
- Mengambil grup perusahaan dengan Cloud OAuth API
- Mengelola aplikasi OAuth untuk Workforce Identity Federation
- Referensi API REST Cloud OAuth