Refresh Access (Perpanjang Akses)

Secara garis besar, ada 3 tahap yang perlu ditangani terkait kondisi akses:

  1. Ketika Access Token tidak valid (IVACC), maka lakukan refresh.
  2. Retry request yang gagal.
  3. Ketika Refresh Token tidak valid (IVREF), maka user harus login ulang.

Jika menggunakan Client SDK, poin 1 dan 2 sudah otomatis ditangani, sehingga tinggal perlu menangani poin 3 saja.

Penanganan secara mandiri

graph TD ns([Mulai]) ne([Selesai]) n1[User mengunjungi app] n2{User terlogin?} n3[Terjadi request apapun] n4{Dapat jawaban<br>HTTP 401 dan<br>error code IVACC?} n5["Lakukan refresh access (1)"] n6{Refresh access berhasil?} n7[User berbekal token-token<br>Access & Refresh baru] n8[Lakukan retry request yang gagal tadi<br>bila memungkinkan] n9[User harus login ulang] ns-->n1-->n2 n2-- Ya -->n3-->n4 n2-- Tidak -->ne n4-- Ya -->n5-->n6 n4-- Tidak -->ne n6-- Ya -->n7-->n8-->n4 n6-- Tidak -->n9-->ne

(1) Server endpoint: PATCH ​/auth

Menggunakan Client SDK

graph TD ns([Mulai]) ne([Selesai]) n1[User mengunjungi app] n2{User terlogin?} n3[Terjadi request apapun] n4{Refresh Token<br>tidak valid?} n5{"User harus login ulang#59;<br>Ada fungsi eventCallback?"} n6["Panggil eventCallback (1)"] ns-->n1-->n2 n2-- Ya -->n3-->n4 n2-- Tidak -->ne n4-- Ya -->n5 n4-- Tidak -->ne n5-- Ya -->n6-->ne n5-- Tidak -->ne

(1) Client SDK: EventCallback.invalid_refresh_token