ข้ามไปยังเนื้อหา
กลับหน้ารายการบทความ

GitHub CLI ทดลอง OAuth Token แบบหมดอายุและ Refresh อัตโนมัติ เริ่มที่ gh 2.103.0

GitHub CLI เพิ่มตัวเลือก OAuth credentials แบบหมดอายุและ refresh อัตโนมัติใน public preview ตามประกาศวันที่ 21 ตุลาคม 2026 เริ่มที่ gh รุ่น 2.103.0 โดยเก็บ short-lived access token คู่กับ rotating refresh token และต่ออายุเมื่อจำเป็น ผู้ใช้จ

GitHub CLI ทดลอง OAuth Token แบบหมดอายุและ Refresh อัตโนมัติ เริ่มที่ gh 2.103.0

GitHub CLI เพิ่มตัวเลือก OAuth credentials แบบหมดอายุและ refresh อัตโนมัติใน public preview ตามประกาศวันที่ 21 ตุลาคม 2026 เริ่มที่ gh รุ่น 2.103.0 โดยเก็บ short-lived access token คู่กับ rotating refresh token และต่ออายุเมื่อจำเป็น ผู้ใช้จึงทำงานต่อได้โดยไม่ต้องล็อกอินซ้ำทุกครั้ง ขณะที่ access token ที่รั่วมีช่วงใช้งานจำกัดลง

วิธีเปิดใช้และตรวจสถานะ

คำสั่งที่ประกาศคือ gh auth login --expiring หากต้องการให้ทุกการ sign-in ขอ credentials แบบนี้ ให้ใช้ gh config set expiring_credentials enabled แล้วตรวจสถานะและเวลาหมดอายุผ่าน gh auth status ความสามารถนี้ยังเป็น opt-in: การล็อกอินเดิมและ token ที่ผู้ใช้ส่งให้เองไม่เปลี่ยนพฤติกรรมเพียงเพราะอัปเกรด CLI

สำหรับ Git over HTTPS ทาง GitHub แนะนำ gh auth setup-git เพื่อใช้ gh เป็น credential helper และแนะนำ Git 2.46 ขึ้นไปเพื่อจัดการข้อมูลอายุ credential ได้เหมาะสม ทีมควรตรวจ Git และ helper ที่ใช้อยู่จริง เพราะการติดตั้ง gh รุ่นใหม่เพียงอย่างเดียวไม่ได้ยืนยันว่าทุกคำสั่ง git วิ่งผ่านกลไก refresh นี้แล้ว

จุดที่ Script เดิมอาจสะดุด

รูปแบบที่ต้องทบทวนคือ script หรือ extension ที่เรียก gh auth token ครั้งเดียวแล้วเก็บค่าไว้ใช้ยาว เมื่อ access token หมดอายุ ค่าที่เก็บไว้จะใช้ต่อไม่ได้ GitHub แนะนำให้เรียก gh auth token ใหม่เมื่อจะใช้นอก gh เพื่อให้ refresh ตามจำเป็น หาก workflow ยังต้องพึ่ง token อายุยาวและปรับไม่ได้ ควรชะลอ opt-in สำหรับ workflow นั้น

ก่อนเปิดใช้กับเครื่องนักพัฒนาทั้งทีม ให้ค้น config และ automation ที่คัดลอก token ไปยังเครื่องมืออื่น ตรวจว่าเก็บไว้ใน environment ของ process ที่อยู่นานเพียงใด และมีวิธีรับค่าใหม่หรือไม่ การทดสอบควรรวมช่วงหลัง token หมดอายุจริง ไม่ใช่เพียงทดสอบทันทีหลังล็อกอินซึ่ง credential ยังใหม่ทั้งหมด

Refresh Token ก็เป็นข้อมูลที่ต้องดูแล

การลดอายุ access token ช่วยลดช่วงเสี่ยงของค่าที่รั่ว แต่ไม่ได้ทำให้เครื่องที่เก็บ credentials ไม่ต้องได้รับการดูแล ควรทบทวนสิทธิ์และวิธีเก็บข้อมูล authentication ของเครื่องตามกระบวนการเดิม และไม่พิมพ์ token ลง log ระหว่าง debug การเปลี่ยนชนิด credential ควรทำพร้อม inventory ว่าเครื่องมือใดเป็นผู้ใช้งานจริง

ประกาศระบุรองรับ github.com และ ghe.com ส่วน GitHub Enterprise Server เริ่มรองรับตั้งแต่ GHES 3.23 หาก server ไม่รองรับ gh จะ fallback เป็น token แบบไม่หมดอายุตามเดิม การตรวจ auth status หลังเปิดใช้จึงสำคัญเพื่อให้รู้พฤติกรรมที่ได้รับจริง ข่าวนี้เหมาะกับทีมที่พร้อมปรับการใช้ token ให้เรียกเมื่อจำเป็น และต้องการลดการพึ่ง access token ที่ค้างอยู่ยาวในเครื่องมือภายนอก

แหล่งข่าว: ประกาศทางการวันที่ 21 ตุลาคม 2026