RFC 7519-compliant JSON Web Token (JWT) adalah metode yang digunakan oleh API Gateway untuk mengotentikasi permintaan. API Gateway menampung kunci JSON Web Publik (JWKs) pengguna dan menggunakan JWK ini untuk menandatangani serta mengotentikasi JWT dalam permintaan. Kemudian, API Gateway meneruskan parameter claim ke layanan backend sebagai parameter backend, menyederhanakan pengembangan aplikasi backend. Topik ini menjelaskan cara mengonfigurasi plug-in otentikasi JWT. Untuk informasi lebih lanjut tentang JWT dan proses otentikasi, lihat Otentikasi berbasis JWT.
Plug-in otentikasi JWT memberikan fungsi yang sama dengan OpenID Connect dan membawa manfaat berikut:
Tidak diperlukan konfigurasi tambahan untuk
operasi API otorisasi.JWTdapat dihasilkan dan didistribusikan melalui berbagai cara. API Gateway hanya bertanggung jawab atas otentikasiJWTmenggunakanJWK publik.JWKtanpakidyang ditentukan didukung.Beberapa
JWKdapat dikonfigurasi.Informasi token dapat dibaca dari
headeratau parameterquerypermintaan.Token juga dapat dibaca dari header Cookie dalam permintaan menggunakan plug-in otentikasi JWT.
Untuk mengirim
JWTdi header Authorization sepertiAuthorization bearer {token}, aturparametermenjadi Authorization danparameterLocationmenjadi header agar informasi token dapat dibaca dengan benar.Pemeriksaan anti-replay berdasarkan klaim
jtididukung jika Anda mengaturpreventJtiReplaymenjadi true.Permintaan tanpa token dapat diteruskan ke layanan backend tanpa verifikasi jika Anda mengatur
bypassEmptyTokenmenjadi true.Pemeriksaan pengaturan
expuntuk token dapat dilewati jika Anda mengaturignoreExpirationCheckmenjadi true.
Jika Anda mengonfigurasi plug-in otentikasi JWT dan mengaitkannya dengan API yang fitur OpenID Connect-nya telah dikonfigurasi, plug-in otentikasi JWT akan menggantikan fitur OpenID Connect.
1. Memperoleh JWK
JWK yang sesuai dengan RFC 7517 digunakan untuk menandatangani dan mengotentikasi JWT. Untuk mengonfigurasi plug-in otentikasi JWT, Anda perlu menghasilkan JWK yang valid, baik secara manual maupun menggunakan generator JWK online seperti mkjwk.org. Contoh berikut menunjukkan JWK yang valid. Pada contoh JWK ini, kunci privat digunakan untuk menandatangani token, sedangkan kunci publik dikonfigurasi di plug-in otentikasi JWT untuk mengotentikasi tanda tangannya.
{
"kty": "RSA",
"e": "AQAB",
"kid": "O9fpdhrViq2zaaaBEWZITz",
"use": "sig",
"alg": "RS256",
"n": "qSVxcknOm0uCq5vGsOmaorPDzHUubBmZZ4UXj-9do7w9X1uKFXAnqfto4TepSNuYU2bA_-tzSLAGBsR-BqvT6w9SjxakeiyQpVmexxnDw5WZwpWenUAcYrfSPEoNU-0hAQwFYgqZwJQMN8ptxkd0170PFauwACOx4Hfr-9FPGy8NCoIO4MfLXzJ3mJ7xqgIZp3NIOGXz-GIAbCf13ii7kSStpYqN3L_zzpvXUAos1FJ9IPXRV84tIZpFVh2lmRh0h8ImK-vI42dwlD_hOIzayL1Xno2R0T-d5AwTSdnep7g-Fwu8-sj4cCRWq3bd61Zs2QOJ8iustH0vSRMYdP5oYQ"
} JWK sebelumnya dalam format JSON. Jika Anda ingin mengonfigurasi plug-in otentikasi JWT dalam format YAML, gunakan JWK dalam format YAML.*
Untuk
plug-in otentikasi JWT, Anda hanya perlu mengonfigurasikunci publik. Simpankunci privatAnda dengan aman. Tabel berikut mencantumkan algoritma tanda tangan yang didukung oleh plug-in otentikasi JWT.
Algoritma tanda tangan | Pengaturan |
RSASSA-PKCS1-V1_5 dengan SHA-2 | RS256, RS384, RS512 |
Kurva Eliptik (ECDSA) dengan SHA-2 | ES256, ES384, ES512 |
HMAC menggunakan SHA-2 | HS256, HS384, HS512 |
Saat mengonfigurasi kunci jenis HS256, HS384, atau HS512, nilai kuncinya dienkripsi dalam format base64url. Jika tanda tangannya tidak valid, periksa apakah kunci Anda memiliki format yang sama dengan kunci yang digunakan untuk menghasilkan token.
2. Konfigurasi
Anda dapat mengonfigurasi plug-in otentikasi JWT dalam format JSON atau YAML karena kedua format tersebut memiliki skema yang sama. Gunakan alat yaml to json untuk mengonversi format konfigurasi plug-in. Contoh berikut menunjukkan template konfigurasi plug-in dalam format YAML:
---
parameter: X-Token # Parameter tempat JWT dibaca. Ini sesuai dengan parameter API.
parameterLocation: header # Lokasi tempat JWT dibaca. Nilai yang valid: query dan header. Parameter ini opsional jika Mode Permintaan untuk API terikat diatur ke Map (Filter Out Unknown Parameters) atau Map (Pass-through Unknown Parameters). Parameter ini diperlukan jika Mode Permintaan untuk API terikat diatur ke Pass-through.
preventJtiReplay: false # Mengontrol apakah akan mengaktifkan pemeriksaan anti-replay untuk jti. Nilai default: false.
bypassEmptyToken: false # Mengontrol apakah akan meneruskan permintaan yang tidak mencakup token ke layanan backend tanpa verifikasi.
ignoreExpirationCheck: false # Mengontrol apakah akan mengabaikan verifikasi pengaturan exp.
orAppAuth: false # Nilai default adalah false. Baik otentikasi Aplikasi Alibaba Cloud maupun otentikasi JWT diperlukan. Jika nilainya true, metode otentikasi lainnya tidak diperlukan jika satu otentikasi berhasil.
claimParameters: # Konversi klaim ke parameter. API Gateway memetakan klaim JWT ke parameter backend.
- claimName: aud # Nama klaim JWT, yang bisa publik atau privat.
parameterName: X-Aud # Nama parameter backend, ke mana klaim JWT dipetakan.
location: header # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
- claimName: userId # Nama klaim JWT, yang bisa publik atau privat.
parameterName: userId # Nama parameter backend, ke mana klaim JWT dipetakan.
location: query # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
#
# Kunci publik dalam JWK
jwk:
kty: RSA
e: AQAB
use: sig
alg: RS256
n: qSVxcknOm0uCq5vGsOmaorPDzHUubBmZZ4UXj-9do7w9X1uKFXAnqfto4TepSNuYU2bA_-tzSLAGBsR-BqvT6w9SjxakeiyQpVmexxnDw5WZwpWenUAcYrfSPEoNU-0hAQwFYgqZwJQMN8ptxkd0170PFauwACOx4Hfr-9FPGy8NCoIO4MfLXzJ3mJ7xqgIZp3NIOGXz-GIAbCf13ii7kSStpYqN3L_zzpvXUAos1FJ9IPXRV84tIZpFVh2lmRh0h8ImK-vI42dwlD_hOIzayL1Xno2R0T-d5AwTSdnep7g-Fwu8-sj4cCRWq3bd61Zs2QOJ8iustH0vSRMYdP5oYQ
#
# Anda dapat mengonfigurasi beberapa JWK dan menggunakannya bersama dengan bidang jwk.
# Jika beberapa JWK dikonfigurasi, kid diperlukan. Jika JWT tidak mencakup kid, pemeriksaan konsistensi kid gagal.
jwks:
- kid: O9fpdhrViq2zaaaBEWZITz # Jika hanya satu JWK yang dikonfigurasi, kid opsional. Jika JWT mencakup kid, API Gateway memeriksa konsistensi kid.
kty: RSA
e: AQAB
use: sig
alg: RS256
n: qSVxcknOm0uCq5v....
- kid: 10fpdhrViq2zaaaBEWZITz # Jika hanya satu JWK yang dikonfigurasi, kid opsional. Jika JWT mencakup kid, API Gateway memeriksa konsistensi kid.
kty: RSA
e: AQAB
use: sig
alg: RS256
n: qSVxcknOm0uCq5v... Plug-in otentikasi JWTmengambil JWT berdasarkan pengaturanparameterdanparameterLocation. Sebagai contoh, jikaparameterdiatur ke X-Token danparameterLocationdiatur ke header, JWT dibaca dari headerX-Token.Jika parameter yang dikonfigurasi dalam API memiliki nama yang sama dengan parameter yang ditentukan oleh
parameter, jangan tentukanparameterLocation. Jika tidak, kesalahan dilaporkan saat API dipanggil.Untuk mengirim token di header Authorization seperti
Authorization bearer {token}, aturparameterke Authorization danparameterLocationke header agar informasi token dapat dibaca dengan benar.Jika
preventJtiReplaydiatur ke true, plug-in otentikasi JWT menggunakanjtidalamclaimsuntuk melakukan pemeriksaan anti-replay.Jika
bypassEmptyTokendiatur ke true dan token tidak termasuk dalam permintaan, API Gateway melewati pemeriksaan dan langsung meneruskan permintaan ke layanan backend.Jika
ignoreExpirationCheckdiatur ke true, API Gateway melewati verifikasi pengaturanexp. Jika tidak, API Gateway memeriksa apakah token telah kedaluwarsa.Jika API Gateway diminta untuk meneruskan
claimsdalam token ke layanan backend, Anda dapat mengaturtokenParametersuntuk mengonfigurasi parameter berikut yang akan diteruskan:claimName: nama klaim dalam token.parameterName: nama parameter yang diteruskan ke layanan backend.location: lokasi parameter yang diteruskan ke layanan backend. Nilai yang valid:header,query,path, danformData.Jika parameter ini diatur ke
path, jalur backend harus berisi parameter dengan nama yang sama, seperti/path/{userId}.Jika parameter ini diatur ke
formData, badan permintaan yang diterima dalam layanan backend harus bertipeForm.
Anda hanya dapat mengonfigurasi satu kunci dalam bidang
jwk. Anda juga dapat mengonfigurasi beberapa kunci dalam bidangjwks.Anda hanya dapat mengonfigurasi satu kunci dengan
kidyang tidak ditentukan.Anda dapat mengonfigurasi beberapa kunci dengan
kidyang ditentukan.kidharus unik.
3. Aturan verifikasi
Plug-in otentikasi JWT memperoleh token berdasarkan pengaturan
parameterdanparameterToken. Jika API Gateway diminta untuk meneruskan permintaan ke layanan backend meskipun permintaan tidak mencakup token, aturbypassEmptyTokenke true.Jika Anda ingin mengonfigurasi beberapa kunci, patuhi prinsip berikut:
Prioritaskan pemilihan kunci yang ID-nya sama dengan nilai
kiddalam token untuk penandatanganan dan otentikasi.Anda hanya dapat mengonfigurasi satu kunci jika
kidtidak ditentukan. Jika tidak ada kunci yang ID-nya sama dengan nilaikiddalam token, gunakan kunci yang tidak memilikikidyang ditentukan untuk penandatanganan dan otentikasi.Jika semua kunci yang dikonfigurasi memiliki pengaturan
kidyang ditentukan, dan token dalam permintaan tidak mencakupkidatau tidak ada kunci yang cocok dengankid, kesalahanA403JKdilaporkan.
Jika token mencakup
iat,nbf, danexp, plug-in otentikasi JWT memverifikasi validitas format waktu mereka. Satuan waktu adalah detik.Secara default, API Gateway memverifikasi pengaturan
exp. Jika Anda ingin melewati verifikasi, aturignoreExpirationCheckke true.tokenParametersdikonfigurasi untuk mengekstrak parameter yang diperlukan dariclaimstoken. Parameter ini diteruskan ke layanan backend.
4. Mengonfigurasi dataset plug-in untuk plug-in otentikasi JWT
4.1 membuat dataset plug-in otentikasi JWT
Masuk ke Konsol API Gateway. Di panel navigasi kiri, pilih Manage APIs > Plug-ins.
Di halaman Daftar Plug-in, klik tab Plug-in Datasets.
Klik Create Dataset di sudut kanan atas. Dalam kotak dialog yang muncul, tentukan nama untuk dataset, pilih JWT_JWK_LIST untuk parameter Jenis, lalu klik Confirm.
Klik dataset yang dibuat. Di halaman detail dataset, klik Create Dataset Entry di sudut kanan atas. Atur Data Value ke JWK yang didukung oleh plug-in otentikasi JWT dan Validity Period ke periode validitas kunci publik Anda.
PentingSaat mengonfigurasi beberapa JWK, gunakan KID yang berbeda. Urutan nilai data JWK harus dikonfigurasi sesuai dengan contoh berikut.
kty: RSA e: AQAB use: sig kid: N3h666 alg: RS256 n: qfzaxmlnl...
4.2 Contoh
---
parameter: X-Token # Parameter tempat JWT dibaca. Ini sesuai dengan parameter dalam permintaan API.
parameterLocation: header # Lokasi tempat JWT dibaca. Nilai yang valid: query dan header. Parameter ini opsional jika Mode Permintaan untuk API terikat diatur ke Request Parameter Mapping(Filter Unknown Parameters) atau Request Parameter Mapping(Passthrough Unknown Parameters). Parameter ini diperlukan jika Mode Permintaan untuk API terikat diatur ke Request Parameter Passthrough.
claimParameters: # Klaim yang akan dikonversi menjadi parameter. API Gateway memetakan klaim JWT ke parameter backend.
- claimName: aud # Nama klaim JWT, yang bisa publik atau privat.
parameterName: X-Aud # Nama parameter backend, ke mana klaim JWT dipetakan.
location: header # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
- claimName: userId # Nama klaim JWT, yang bisa publik atau privat.
parameterName: userId # Nama parameter backend, ke mana klaim JWT dipetakan.
location: query # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
preventJtiReplay: false # Mengontrol apakah akan mengaktifkan pemeriksaan anti-replay untuk jti. Nilai default: false.
ignoreExpirationCheck: true # Mengontrol apakah akan mengabaikan verifikasi pengaturan exp.
jwkListDataSet: cb4f000b6b8244329ac25XXXc8a4f9d6 # ID dataset. Jika dataset tidak berlaku, ajukan tiket untuk meningkatkan instans Anda.
5. Contoh
5.1 Mengonfigurasi JWK tunggal
---
parameter: X-Token # Parameter tempat JWT dibaca. Ini sesuai dengan parameter dalam permintaan API.
parameterLocation: header # Lokasi tempat JWT dibaca. Nilai yang valid: query dan header. Parameter ini opsional jika Mode Permintaan untuk API terikat diatur ke Request Parameter Mapping(Filter Unknown Parameters) atau Request Parameter Mapping(Passthrough Unknown Parameters). Parameter ini diperlukan jika Mode Permintaan untuk API terikat diatur ke Request Parameter Passthrough.
claimParameters: # Klaim yang akan dikonversi menjadi parameter. API Gateway memetakan klaim JWT ke parameter backend.
- claimName: aud # Nama klaim JWT, yang bisa publik atau privat.
parameterName: X-Aud # Nama parameter backend, ke mana klaim JWT dipetakan.
location: header # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
- claimName: userId # Nama klaim JWT, yang bisa publik atau privat.
parameterName: userId # Nama parameter backend, ke mana klaim JWT dipetakan.
location: query # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
preventJtiReplay: false # Mengontrol apakah akan mengaktifkan pemeriksaan anti-replay untuk jti. Nilai default: false.
#
# Kunci publik dalam JWK
jwk:
kty: RSA
e: AQAB
use: sig
alg: RS256
n: qSVxcknOm0uCq5vGsOmaorPDzHUubBmZZ4UXj-9do7w9X1uKFXAnqfto4TepSNuYU2bA_-tzSLAGBsR-BqvT6w9SjxakeiyQpVmexxnDw5WZwpWenUAcYrfSPEoNU-0hAQwFYgqZwJQMN8ptxkd0170PFauwACOx4Hfr-9FPGy8NCoIO4MfLXzJ3mJ7xqgIZp3NIOGXz-GIAbCf13ii7kSStpYqN3L_zzpvXUAos1FJ9IPXRV84tIZpFVh2lmRh0h8ImK-vI42dwlD_hOIzayL1Xno2R0T-d5AwTSdnep7g-Fwu8-sj4cCRWq3bd61Zs2QOJ8iustH0vSRMYdP5oYQ
5.2 Mengonfigurasi beberapa JWK
---
parameter: Authorization # Parameter tempat token diperoleh.
parameterLocation: header # Lokasi tempat token diperoleh.
claimParameters: # Klaim yang akan dikonversi menjadi parameter. API Gateway memetakan klaim JWT ke parameter backend.
- claimName: aud # Nama klaim JWT, yang bisa publik atau privat.
parameterName: X-Aud # Nama parameter backend, ke mana klaim JWT dipetakan.
location: header # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
- claimName: userId # Nama klaim JWT, yang bisa publik atau privat.
parameterName: userId # Nama parameter backend, ke mana klaim JWT dipetakan.
location: query # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
preventJtiReplay: true # Mengontrol apakah akan mengaktifkan pemeriksaan anti-replay untuk jti. Nilai default: false.
jwks:
- kid: O9fpdhrViq2zaaaBEWZITz # kid harus diatur ke nilai yang berbeda untuk JWK yang berbeda.
kty: RSA
e: AQAB
use: sig
alg: RS256
n: qSVxcknOm0uCq5v....
- kid: 10fpdhrViq2zaaaBEWZITz # kid harus diatur ke nilai yang berbeda untuk JWK yang berbeda.
kty: RSA
e: AQAB
use: sig
alg: RS256
n: qSVxcknOm0uCq5v...5.3. Membaca token dari bidang dalam cookie permintaan.
---
parameter: cookie # Parameter tempat JWT dibaca. Ini sesuai dengan parameter dalam permintaan API.
parameterLocation: header # Lokasi tempat JWT dibaca. Nilai yang valid: query dan header. Parameter ini opsional jika Mode Permintaan untuk API terikat diatur ke Request Parameter Mapping(Filter Unknown Parameters) atau Request Parameter Mapping(Passthrough Unknown Parameters). Parameter ini diperlukan jika Mode Perminta untuk API terikat diatur ke Request Parameter Passthrough.
parameterSection: token # Sebagai contoh, nilai parameter cookie adalah username=tom ; token=abcsef.
claimParameters: # Klaim yang akan dikonversi menjadi parameter. API Gateway memetakan klaim JWT ke parameter backend.
- claimName: aud # Nama klaim JWT, yang bisa publik atau privat.
parameterName: X-Aud # Nama parameter backend, ke mana klaim JWT dipetakan.
location: header # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
- claimName: userId # Nama klaim JWT, yang bisa publik atau privat.
parameterName: userId # Nama parameter backend, ke mana klaim JWT dipetakan.
location: query # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
preventJtiReplay: true # Mengontrol apakah akan mengaktifkan pemeriksaan anti-replay untuk jti. Nilai default: false.
jwks:
- kid: O9fpdhrViq2zaaaBEWZITz # kid harus diatur ke nilai yang berbeda untuk JWK yang berbeda.
kty: RSA
e: AQAB
use: sig
alg: RS256
n: qSVxcknOm0uCq5v....
- kid: 10fpdhrViq2zaaaBEWZITz # kid harus diatur ke nilai yang berbeda untuk JWK yang berbeda.
kty: RSA
e: AQAB
use: sig
alg: RS256
n: qSVxcknOm0uCq5v...Dalam beberapa skenario web, pengguna mungkin ingin menyimpan token di bidang tertentu dari parameter Cookie untuk memastikan keamanan. Plug-in JWT dari API Gateway memungkinkan token dibaca dari bidang parameter Cookie. Anda dapat menentukan bidang untuk menyimpan token Anda dengan menggunakan parameter parameterSection. Dalam contoh berikut, API Gateway dapat membaca token dari header Cookie.
Cookie: acw_tc=123; token=0QzRCMDBBQUYwRjE1MjYxQzU0QjY4NEM5MTc1NTQ1OUVCOTIzNzA4RDk3MDg5MzlDOTMQTVENDZCRUI1NkYyMEUyO; csrf=073957d8d2823be4f6c0cad23c7645585.4 Mengonfigurasi daftar hitam
Plug-in otentikasi JWT menggunakan daftar hitam untuk memblokir permintaan yang dikirim oleh pengguna yang telah ditambahkan ke daftar hitam tetapi telah memperoleh token resmi. Plug-in ini bekerja dengan fitur dataset untuk menolak permintaan berdasarkan parameter klaim yang didekripsi dari token. Selain itu, API Gateway memungkinkan Anda menetapkan respons kustom untuk permintaan yang ditolak. Kode berikut memberikan contoh tentang cara mengonfigurasi daftar hitam dalam plug-in otentikasi JWT. Perhatikan definisi parameter yang dimulai dengan block:
---
parameter: Authorization # Parameter tempat token diperoleh.
parameterLocation: header # Lokasi tempat token diperoleh.
claimParameters: # Klaim yang akan dikonversi menjadi parameter. API Gateway memetakan klaim JWT ke parameter backend.
- claimName: aud # Nama klaim JWT, yang bisa publik atau privat.
parameterName: X-Aud # Nama parameter backend, ke mana klaim JWT dipetakan.
location: header # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
- claimName: userId # Nama klaim JWT, yang bisa publik atau privat.
parameterName: userId # Nama parameter backend, ke mana klaim JWT dipetakan.
location: query # Lokasi parameter backend, ke mana klaim JWT dipetakan. Nilai yang valid: query, header, path, dan formData.
blockClaimParameterName: userId # Kondisi yang digunakan untuk penilaian saat logika daftar hitam diimplementasikan. Permintaan diblokir jika nilai parameter ini terdapat dalam dataset blockByDataSet.
blockByDataSet: 87 b65008e92541938537b1a4a236eda5 # Daftar hitam.
blockStatusCode: 403 # Kode status respons yang dikembalikan ke permintaan yang ditolak.
blockResponseHeaders: # Header respons yang dikembalikan ke permintaan yang ditolak.
Content-Type: application/xml
blockResponseBody: # Badan respons yang dikembalikan ke permintaan yang ditolak.
<Reason>be blocked</Reason>
jwks:
- kid: O9fpdhrViq2zaaaBEWZITz # kid harus diatur ke nilai yang berbeda untuk JWK yang berbeda.
kty: RSA
e: AQAB
use: sig
alg: RS256
n: qSVxcknOm0uCq5v....6. Kode kesalahan
Status | Kode | Pesan | Deskripsi |
400 | I400JR | JWT diperlukan | Pesan kesalahan yang dikembalikan karena parameter terkait JWT tidak ditemukan. |
403 | S403JI | Klaim | Pesan kesalahan yang dikembalikan karena tidak ada klaim |
403 | S403JU | Klaim | Pesan kesalahan yang dikembalikan karena klaim |
403 | A403JT | JWT tidak valid: ${Reason} | Pesan kesalahan yang dikembalikan karena |
400 | I400JD | JWT Deserialize Gagal: | Pesan kesalahan yang dikembalikan karena |
403 | A403JK | Tidak ada JWK yang cocok, | Pesan kesalahan yang dikembalikan karena tidak ada |
403 | A403JE | JWT kedaluwarsa pada | Pesan kesalahan yang dikembalikan karena |
400 | I400JP | Konfigurasi plug-in JWT tidak valid: ${JWT} | Pesan kesalahan yang dikembalikan karena |
Jika pesan respons HTTP mencakup kode respons yang tidak diharapkan, seperti A403JT atau I400JD, yang ditentukan oleh ErrorCode dalam header X-Ca-Error-Code, Anda dapat mengunjungi situs web jwt.io untuk memeriksa validitas dan format token.
7. Batasan
Metadata satu plug-in tidak boleh melebihi ukuran 50 KB.
Anda dapat mengonfigurasi maksimal 16 parameter untuk diteruskan. Baik parameter
claimNamemaupun parameterparameterNametidak boleh melebihi 32 karakter dalam panjang. Hanya ekspresi reguler berikut yang didukung: [A-Za-z0-9-_].algdapat diatur ke RS256, RS384, RS512, ES256, ES384, ES512, HS256, HS384, atau HS512 untuk JWK.