2 पॉइंट द्वारा flyingsquirrel 4 시간 전 | अभी कोई टिप्पणी नहीं है. | WhatsApp पर शेयर करें

GitHub ने GitHub App इंस्टॉलेशन टोकनों के लिए नए टोकन फ़ॉर्मैट के क्रमिक रोलआउट का समर्थन करने हेतु X-GitHub-Stateless-S2S-Token नाम का एक अस्थायी request header पेश किया है। इस header के ज़रिए डेवलपर नए टोकन फ़ॉर्मैट के प्रभाव को पहले से टेस्ट कर सकते हैं, और ज़रूरत पड़ने पर मौजूदा टोकन फ़ॉर्मैट बनाए रख सकते हैं।

मुख्य बातें

X-GitHub-Stateless-S2S-Token header

POST /app/installations/:installation_id/access_tokens request के समय इस header को सेट करके सर्वर-साइड टोकन फ़ॉर्मैट रोलआउट के निर्णय को override किया जा सकता है।

header मान प्रभाव
enabled रोलआउट की प्रगति की परवाह किए बिना stateless (JWT फ़ॉर्मैट) टोकन लौटाता है।
disabled इंटीग्रेशन रोलआउट में शामिल होने पर भी stateful (मौजूदा opaque) टोकन लौटाता है।
(नहीं) सामान्य रोलआउट व्यवहार का पालन करता है।

नया टोकन फ़ॉर्मैट (ghs_ prefix JWT)

नया stateless टोकन ghs_ prefix वाले JWT फ़ॉर्मैट में है, जिसकी लंबाई लगभग 520 अक्षर होती है और इसमें दो dot (.) शामिल होते हैं। मौजूदा stateful टोकन एक छोटा opaque string होता है और उसमें dot नहीं होते।

डेवलपर्स को नीचे दिए गए बिंदुओं की जाँच करके यह सत्यापित करना चाहिए कि उनका एप्लिकेशन नए टोकन फ़ॉर्मैट को सही तरह से संभाल रहा है।

  • टोकन लंबाई से जुड़ी hardcoded धारणाएँ हटाएँ
  • टोकन validation में इस्तेमाल होने वाले regex को अपडेट करें (अनुशंसित regex: ghs_[A-Za-z0-9\._]{36,})
  • टोकन स्टोरेज के लिए database column में कम-से-कम 520 अक्षरों की अनुमति हो
  • टोकन inspection या validation code ghs_ टोकनों को opaque string की तरह प्रोसेस करे

तैयारी कैसे करें

  1. enabled के साथ टेस्ट करें: opt-in header का उपयोग करके endpoint को कॉल करें और पुष्टि करें कि आपका app नए टोकन फ़ॉर्मैट को end-to-end स्वीकार करता है।
  2. disabled के साथ टेस्ट करें: पुष्टि करें कि आपका app मौजूदा opaque फ़ॉर्मैट के साथ भी काम करता है, ताकि stateless टोकन अस्थायी रूप से उपलब्ध न होने पर भी वह सामान्य रूप से काम करे।
  3. header हटाएँ: जब दोनों रास्ते validate हो जाएँ, तो header हटा दें। GitHub का रोलआउट टोकन फ़ॉर्मैट को अपने-आप मैनेज करेगा।

ध्यान देने योग्य बातें

  • यह header अस्थायी है और भविष्य में अलग से घोषित किए जाने वाले समय पर इसका समर्थन समाप्त कर दिया जाएगा।
  • मौजूदा app इंस्टॉलेशन टोकन अपनी समाप्ति तक काम करते रहेंगे।
  • यह बदलाव GitHub Enterprise Cloud और Data Residency वातावरणों पर लागू होता है, जबकि GitHub Enterprise Server इससे प्रभावित नहीं है।
  • भविष्य का रोलआउट केवल GitHub App इंस्टॉलेशन server-to-server टोकनों (जिसमें Actions GITHUB_TOKEN शामिल है) पर नया टोकन फ़ॉर्मैट लागू करेगा।

अधिक जानकारी के लिए GitHub ब्लॉग देखें।

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.