Menyetujui dan mencabut token akses

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Mencabut akses dan token refresh

Dalam beberapa kasus, aplikasi harus mencabut atau membatalkan token secara eksplisit, misalnya, saat pengguna keluar dari aplikasi yang mengaktifkan OAuth. Jika Anda mencabut token, token tersebut dapat disetujui kembali kapan saja sebelum kedaluwarsa.

Prosedur untuk pencabutan token ditentukan oleh spesifikasi Pencabutan Token OAuth 2.0.

Apigee Edge menyediakan operasi InvalidateToken yang memungkinkan Anda mengonfigurasi endpoint pencabutan token. 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. Di beberapa jika demikian, baik token akses maupun token pembaruan yang terkait akan dicabut. Secara teknis, mereka keduanya dicabut karena penanda berjenjang ditetapkan ke true. Untuk informasi selengkapnya tentang cara flag cascade berfungsi, lihat bagian atribut elemen Token di bawah ini.

<OAuthV2 name="InvalidateToken">
  <Operation>InvalidateToken</Operation>
  <Tokens>
    <Token type="accesstoken" cascade="true">flow.variable</Token>
  </Tokens>
</OAuthV2>

&lt;Tokens&gt;/&lt;Token&gt; elemen

Mengidentifikasi variabel alur yang menentukan token yang akan dicabut. Jika developer diharapkan mengirimkan permintaan pencabutan menggunakan parameter kueri bernama access_token, misalnya, variabel flow yang benar akan menjadi: 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 yang ditentukan. Nilai yang didukung adalah accesstoken dan refreshtoken:
    • Untuk mencabut token akses, tentukan jenis accesstoken.
    • Untuk mencabut token akses dan refresh, tentukan jenis refreshtoken. Saat melihat jenis refreshtoken, Edge mengasumsikan token tersebut adalah token refresh. Jika token refresh tersebut ditemukan, maka data tersebut akan dicabut. Jika token refresh tersebut tidak ditemukan, Edge akan memeriksa lihat apakah itu token akses. Jika token akses ada, token tersebut akan dicabut.

      Catatan: Jika Anda meneruskan token yang sudah tidak valid ke InvalidateToken kebijakan tersebut tidak menghasilkan kesalahan, meskipun Anda memang mengharapkannya. Seperti tidak berpengaruh.
  • cascade (opsional, boolean, default: true) Penggunaan utama adalah mencabut token refresh tanpa mencabut token akses terkait. Pertimbangkan kasus berikut:
    • Cabut token refresh saja dan jangan cabut token akses yang terkait. Untuk melakukannya: tetapkan <Token> ketik ke refreshtoken dan tetapkan cascade ke false.
    • Cabut token akses dan token refresh. Untuk melakukannya, tetapkan <Token> ketik ke accesstoken. Nilai jenjang dapat berupa true ( default) atau false. Jika Anda menetapkannya ke true, maka akses token akses dan token refresh akan dicabut. Jika Anda menetapkannya ke false, akses tersebut token dicabut, dan token pembaruan tidak dapat digunakan. Lihat Catatan di bawah untuk informasi selengkapnya penjelasan.
    • Cabut token akses dan jangan cabut token refresh terkait. Bukan didukung. Lihat Catatan di bawah untuk penjelasan selengkapnya.

Catatan: Untuk alasan keamanan, jika Anda mencabut token akses, maka token pembaruan yang terkait juga akan dicabut. Oleh karena itu, Anda tidak dapat menggunakan atribut {i>cascade<i} untuk mencabut token akses saja. Misalnya, jika Anda menetapkan <Token> ketik ke accesstoken, dan menetapkan cascade=false, token akses akan dicabut (sebagaimana yang diharapkan); token refresh yang terkait tidak dapat digunakan. File tersebut tidak dapat digunakan untuk memuat ulang token akses yang dicabut. Kasus penggunaan utama untuk atribut {i>cascade<i} adalah saat Anda hanya mencabut token refresh. Dalam hal ini, tetapkan <Token> ketik ke refreshtoken, dan setel cascade=false. Token refresh akan dicabut, tetapi akses terkaitnya token tersebut akan tetap valid (hingga masa berlakunya habis atau dicabut). Untuk informasi selengkapnya, lihat Diskusi forum komunitas.

Menyetujui token akses dan refresh

Gunakan operasi ValidateToken untuk "menyetujui kembali" token yang dicabut. Artinya, ketika Anda menerapkan status token akses atau refresh yang ditargetkan berubah dari 'dicabut' dapat 'disetujui'. Anda dapat memvalidasi token yang dicabut yang belum kedaluwarsa.

<OAuthV2 name="ValidateToken">
  <Operation>ValidateToken</Operation>
  <Tokens>
    <Token type="refreshtoken" cascade="true">flow.variable</Token>
  </Tokens>
</OAuthV2>

&lt;Tokens&gt;/&lt;Token&gt; elemen

Mengidentifikasi variabel alur yang menentukan token yang akan divalidasi. Jika developer diharapkan mengirimkan permintaan validasi menggunakan parameter kueri bernama access_token, misalnya, variabel flow yang benar akan menjadi: 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 yang ditentukan. Nilai yang didukung adalah accesstoken dan refreshtoken.
  • cascade (opsional, boolean): Secara default, opsi ini disetel ke true, dan menyebabkan validasi disebarkan ke token terkait. Jadi, jika diterapkan ke token pembaruan, token akses terkait juga divalidasi. Jika diterapkan pada akses token tambahan, token refresh yang terkait juga divalidasi. Jika Anda menyetelnya ke false, maka hanya token akses atau refresh yang ditentukan yang divalidasi.