Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Mencabut token akses dan refresh
Dalam beberapa kasus, aplikasi diwajibkan untuk mencabut atau membatalkan token secara eksplisit, misalnya, saat pengguna logout dari aplikasi yang mendukung OAuth. Jika Anda mencabut token, token tersebut dapat disetujui kembali kapan saja sebelum masa berlakunya berakhir.
Prosedur pencabutan token ditentukan oleh spesifikasi Pencabutan Token OAuth 2.0.
Apigee Edge menyediakan operasi InvalidateToken yang memungkinkan Anda mengonfigurasi endpoint pencabutan token khusus. Dengan memublikasikan URI endpoint ini, Anda memungkinkan developer aplikasi untuk membatalkan token yang dikeluarkan oleh Edge.
Berikut adalah contoh konfigurasi untuk kebijakan OAuthV2 dan operasi InvalidateToken. Dalam hal ini, token akses dan token refresh terkait akan dicabut. Secara teknis, keduanya dicabut karena flag cascade ditetapkan ke true. Untuk mengetahui informasi selengkapnya tentang cara kerja flag cascade, lihat bagian atribut elemen Token di bawah.
<OAuthV2 name="InvalidateToken"> <Operation>InvalidateToken</Operation> <Tokens> <Token type="accesstoken" cascade="true">flow.variable</Token> </Tokens> </OAuthV2>
Elemen <Tokens>/<Token>
Mengidentifikasi variabel alur yang menentukan token yang akan dicabut. Jika developer diharapkan mengirimkan permintaan pencabutan menggunakan parameter kueri bernama access_token, misalnya, variabel alur yang benar adalah: request.queryparam.access_token. Untuk mewajibkan token di header HTTP,
misalnya, tetapkan nilai ini ke request.header.access_token.
Atribut
-
type(wajib, string): Jenis token yang diidentifikasi oleh variabel ditentukan. Nilai yang didukung adalahaccesstokendanrefreshtoken:- Untuk mencabut token akses, tentukan jenis accesstoken.
- Untuk mencabut token akses dan refresh, tentukan jenis refreshtoken. Saat melihat
jenis refreshtoken, Edge mengasumsikan bahwa token tersebut adalah token refresh. Jika token refresh tersebut ditemukan, token tersebut akan dicabut. Jika token refresh tersebut tidak ditemukan, Edge akan memeriksa apakah token tersebut adalah token akses. Jika token akses ada, token tersebut akan dicabut.
Catatan: Jika Anda meneruskan token yang sudah dibatalkan ke kebijakan InvalidateToken, kebijakan tersebut tidak akan menampilkan error, meskipun Anda mungkin mengharapkannya. Operasi tersebut tidak berpengaruh.
-
cascade(opsional, boolean, default: true) Penggunaan utama atribut ini adalah untuk mencabut token refresh tanpa mencabut token akses terkait. Pertimbangkan kasus berikut:- Hanya mencabut token refresh dan tidak mencabut token akses terkait. Untuk melakukannya,
tetapkan jenis <Token> ke
refreshtokendan tetapkan cascade kefalse. - Mencabut token akses dan token refresh. Untuk melakukannya, tetapkan jenis <Token>
ke
accesstoken. Nilai cascade dapat berupatrue(default) ataufalse. Jika Anda menetapkannya ketrue, token akses dan token refresh akan dicabut. Jika Anda menetapkannya kefalse, token akses dicabut, dan token refresh tidak dapat digunakan. Lihat Catatan di bawah untuk penjelasan selengkapnya penjelasan selengkapnya. - Mencabut token akses dan tidak mencabut token refresh terkait. Tidak didukung. Lihat Catatan di bawah untuk penjelasan selengkapnya.
- Hanya mencabut token refresh dan tidak mencabut token akses terkait. Untuk melakukannya,
tetapkan jenis <Token> ke
Catatan: Karena alasan keamanan, jika Anda mencabut
token akses, token refresh terkait juga akan dicabut. Oleh karena itu, Anda tidak dapat menggunakan
atribut cascade untuk mencabut token akses saja. Misalnya, jika Anda menetapkan jenis <Token>
ke accesstoken, dan menetapkan cascade=false, token akses akan dicabut
(seperti yang diharapkan); namun, token refresh terkait tidak dapat digunakan. Token tersebut tidak dapat digunakan untuk memperbarui
token akses yang dicabut. Kasus penggunaan utama untuk atribut cascade adalah saat Anda hanya ingin
mencabut token refresh. Dalam hal ini, tetapkan jenis <Token> ke refreshtoken,
dan tetapkan cascade=false. Token refresh akan dicabut, tetapi token akses terkait
akan tetap valid (hingga masa berlakunya berakhir atau dicabut). Untuk mengetahui informasi selengkapnya, lihat diskusi
Forum komunitas ini.
Menyetujui token akses dan refresh
Gunakan operasi ValidateToken untuk "menyetujui kembali" token yang dicabut. Artinya, saat Anda menerapkan operasi ini, status token akses atau token refresh target akan diubah dari 'dicabut' menjadi 'disetujui'. Anda dapat memvalidasi token yang dicabut yang masa berlakunya belum berakhir.
<OAuthV2 name="ValidateToken"> <Operation>ValidateToken</Operation> <Tokens> <Token type="refreshtoken" cascade="true">flow.variable</Token> </Tokens> </OAuthV2>
Elemen <Tokens>/<Token>
Mengidentifikasi flow variable yang menentukan token yang akan divalidasi. Jika developer diharapkan mengirimkan permintaan validasi menggunakan parameter kueri bernama access_token, misalnya, flow variable yang benar adalah: request.queryparam.access_token. Untuk mewajibkan token di header HTTP,
misalnya, tetapkan nilai ini ke request.header.access_token.
Atribut
type(wajib, string) Jenis token yang diidentifikasi oleh variabel ditentukan. Nilai yang didukung adalahaccesstokendanrefreshtoken.cascade(opsional, boolean): Secara default, opsi ini ditetapkan ketrue, dan menyebabkan validasi diterapkan ke token terkait. Jadi, jika diterapkan ke token refresh, token akses terkait juga akan divalidasi. Jika diterapkan ke token akses token refresh terkait juga akan divalidasi. Jika Anda menetapkan opsi ini kefalse, hanya token akses atau token refresh yang ditentukan yang akan divalidasi.