2 poin oleh flyingsquirrel 4 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp

GitHub memperkenalkan header permintaan sementara bernama X-GitHub-Stateless-S2S-Token untuk mendukung adopsi bertahap format token baru bagi token instalasi GitHub App. Melalui header ini, developer dapat menguji lebih dulu dampak format token baru dan, bila perlu, tetap menggunakan format token lama.

Poin utama

Header X-GitHub-Stateless-S2S-Token

Saat melakukan permintaan POST /app/installations/:installation_id/access_tokens, header ini dapat diatur untuk menimpa keputusan rollout format token di sisi server.

Nilai header Efek
enabled Mengembalikan token stateless (format JWT) tanpa memandang progres rollout.
disabled Mengembalikan token stateful (opaque lama) meskipun integrasi sudah termasuk dalam rollout.
(tidak ada) Mengikuti perilaku rollout normal.

Format token baru (JWT berprefiks ghs_)

Token stateless baru berbentuk JWT dengan prefiks ghs_, panjangnya sekitar 520 karakter, dan mengandung dua tanda titik (.). Token stateful lama berupa string opaque yang lebih pendek dan tidak memiliki tanda titik.

Developer perlu memeriksa hal-hal berikut untuk memverifikasi bahwa aplikasi dapat menangani format token baru dengan benar.

  • Menghapus asumsi panjang token yang di-hardcode
  • Memperbarui regex yang digunakan untuk validasi token (regex yang direkomendasikan: ghs_[A-Za-z0-9\._]{36,})
  • Mengatur agar kolom database untuk penyimpanan token mengizinkan minimal 520 karakter
  • Memastikan kode inspeksi atau validasi token memperlakukan token ghs_ sebagai string opaque

Cara mempersiapkan

  1. Uji dengan enabled: Panggil endpoint dengan header opt-in dan pastikan aplikasi menerima format token baru secara end-to-end.
  2. Uji dengan disabled: Pastikan aplikasi juga tetap berjalan dengan format opaque lama, sehingga tetap berfungsi normal bila token stateless untuk sementara tidak dapat digunakan.
  3. Hapus header: Setelah kedua jalur tervalidasi, hapus header tersebut. Rollout GitHub akan mengelola format token secara otomatis.

Catatan

  • Header ini bersifat sementara dan akan berhenti didukung pada waktu yang akan diumumkan terpisah di masa mendatang.
  • Token instalasi aplikasi yang sudah ada akan tetap berfungsi hingga masa berlakunya habis.
  • Perubahan ini berlaku untuk lingkungan GitHub Enterprise Cloud dan Data Residency, sedangkan GitHub Enterprise Server tidak terdampak.
  • Rollout mendatang hanya akan menerapkan format token baru pada token server-to-server instalasi GitHub App (termasuk GITHUB_TOKEN milik Actions).

Untuk detail lebih lanjut, lihat blog GitHub.

Belum ada komentar.

Belum ada komentar.