Integrasi Backend
AM mengekspos kunci publik melalui JWKS dan konfigurasi melalui penemuan OIDC—protokol standar yang dapat digunakan oleh perpustakaan JWT mana pun.
Verifikasi token secara locale, percayai klaimnya, dan otorisasi permintaan.
Alur Verifikasi Token
Endpoint
| Endpoint | Tujuan |
|---|---|
/.well-known/jwks.json | Kunci penandatanganan publik |
/.well-known/openid-configuration | Dokumen penemuan OIDC |
/oauth2/introspect | Segarkan introspeksi token |
JWKS
Ambil kunci publik untuk verifikasi locale:
GET /.well-known/jwks.json
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"kid": "key_...",
"alg": "RS256",
"n": "0vx7agoebG...",
"e": "AQAB"
}
]
}
Beberapa kunci mungkin ada selama rotasi. Cocokkan dengan klaim kid di header JWT.
Penemuan OIDC
Konfigurasi otomatis klien dengan dokumen penemuan:
GET /.well-known/openid-configuration
Mengembalikan endpoint, algoritme yang didukung, dan kemampuan sesuai spesifikasi OpenID Connect Discovery.
Klaim JWT
Token terverifikasi berisi:
| Mengeklaim | Keterangan |
|---|---|
iss | URL penerbit |
sub | Subjek (ID pengguna atau ID klien) |
aud | Audiens yang dituju |
exp | Kedaluwarsa (stempel waktu Unix) |
iat | Dikeluarkan pada (stempel waktu Unix) |
scope | Izin yang diberikan |
cid | ID Klien |
app | ID Aplikasi |
acc | ID akun saat ini |
uid | ID Pengguna (saat diautentikasi pengguna) |
role | Peran dalam akun saat ini |
cache
- Cache respons JWKS (gunakan ETag/If-None-Match)
- Penyegaran pada kegagalan verifikasi tanda tangan (rotasi kunci)
- TTL tipikal: 1 jam
Introspeksi Token
Untuk token penyegaran atau saat Anda memerlukan validasi otoritatif:
POST /oauth2/introspect
Content-Type: application/x-www-form-urlencoded
token=...&client_id=...&client_secret=...
Mengembalikan active: true/false dan klaim token. Token akses adalah JWT dan harus diverifikasi secara locale melalui JWKS jika memungkinkan.
Terkait
- OAuth - Penerbitan token
- Clients - Konfigurasi klien
- Client Key - Kunci penandatanganan