GitHub, GitHub App kurulum tokenları için yeni token biçiminin kademeli olarak kullanıma alınmasını desteklemek amacıyla X-GitHub-Stateless-S2S-Token adlı geçici bir istek başlığı ekledi. Bu başlık sayesinde geliştiriciler yeni token biçiminin etkisini önceden test edebilir ve gerekirse mevcut token biçimini koruyabilir.
Önemli noktalar
X-GitHub-Stateless-S2S-Token başlığı
POST /app/installations/:installation_id/access_tokens isteği sırasında bu başlığı ayarlayarak sunucu tarafındaki token biçimi rollout kararını geçersiz kılabilirsiniz.
| Başlık değeri | Etki |
|---|---|
enabled |
Rollout durumundan bağımsız olarak durumsuz (JWT biçiminde) token döndürür. |
disabled |
Entegrasyon rollout kapsamına alınmış olsa bile durumlu (eski opak) token döndürür. |
| (yok) | Normal rollout davranışını izler. |
Yeni token biçimi (ghs_ önekli JWT)
Yeni durumsuz token, ghs_ önekine sahip JWT biçimindedir; yaklaşık 520 karakter uzunluğundadır ve iki nokta (.) içerir. Mevcut durumlu token ise daha kısa opak bir dizgedir ve nokta içermez.
Geliştiriciler, uygulamalarının yeni token biçimini doğru işlediğini doğrulamak için aşağıdakileri kontrol etmelidir.
- Token uzunluğu hakkında hardcoded varsayımları kaldırın
- Token doğrulamada kullanılan regex'i güncelleyin (önerilen regex:
ghs_[A-Za-z0-9\._]{36,}) - Token depolamak için kullanılan veritabanı sütunlarının en az 520 karakteri kabul edecek şekilde ayarlandığından emin olun
- Token inceleme veya doğrulama kodunun
ghs_tokenlarını opak dizgeler olarak ele aldığını doğrulayın
Nasıl hazırlanmalı
enabledile test edin: Opt-in başlığını kullanarak endpoint'i çağırın ve uygulamanızın yeni token biçimini uçtan uca kabul ettiğini doğrulayın.disabledile test edin: Uygulamanızın mevcut opak biçimle de çalıştığını doğrulayın; böylece durumsuz tokenların geçici olarak kullanılamadığı durumlarda da normal çalıştığından emin olun.- Başlığı kaldırın: Her iki yol da doğrulandıktan sonra başlığı kaldırın. GitHub'ın rollout süreci token biçimini otomatik olarak yönetecektir.
Notlar
- Bu başlık geçicidir ve ileride ayrıca duyurulacak bir tarihte artık desteklenmeyecektir.
- Mevcut uygulama kurulum tokenları süreleri dolana kadar çalışmaya devam edecektir.
- Bu değişiklik GitHub Enterprise Cloud ve Data Residency ortamları için geçerlidir; GitHub Enterprise Server etkilenmez.
- Gelecekteki rollout, yeni token biçimini yalnızca GitHub App kurulum server-to-server tokenlarına (
GITHUB_TOKENdahil) uygulayacaktır.
Daha fazla bilgi için GitHub bloguna göz atabilirsiniz.
Henüz yorum yok.