GitHub CLI: kiểm tra tuổi thọ bản sao token OAuth

Dev
Lượt xem 6

CLI vẫn đăng nhập nhưng tập lệnh chạy từ hôm qua lại lỗi. Có thể nó giữ bản sao token cũ. Thông báo GitHub ngày 21/10/2026 gợi ý nên vẽ đường đi của thông tin xác thực trước.

Sơ đồ kiểm tra: làm mới CLI, bản sao ngoài và thao tác sử dụng tách biệt. Không phải ảnh sản phẩm hay benchmark.
Sơ đồ kiểm tra: làm mới CLI, bản sao ngoài và thao tác sử dụng tách biệt. Không phải ảnh sản phẩm hay benchmark.

Thay đổi đã xác nhận: chủ động bật làm mới

Từ v2.103.0, gh auth login --expiring yêu cầu thông tin có thể làm mới. gh lưu access token có hạn cùng refresh token luân phiên. Đăng nhập cũ và token nhập tay giữ nguyên hành vi. github.com, ghe.com và GHES từ 3.23 hỗ trợ; máy chủ khác có thể cấp token không hết hạn. Kiểm tra thực tế bằng gh auth status.

Chuỗi sao chép không tự làm mới

GitHub cảnh báo tập lệnh chỉ lấy gh auth token một lần rồi dùng lại. Bên sử dụng ngoài gh cần lấy giá trị mới khi cần. Thành công lúc khởi động không chứng minh hiệu lực về sau. Refresh token bị lộ vẫn nguy hiểm; thời hạn ngắn không thay thế quyền tối thiểu và thu hồi.

Trình tự kiểm tra đề xuất

Ghi phiên bản, máy chủ và công cụ sao chép token vào tệp, biến môi trường hoặc tiện ích. Chỉ ghi người quản lý và thời điểm lấy, không thu thập bí mật. Trong môi trường thử nghiệm, so sánh cùng thao tác đọc ngay lúc đầu và sau đó. Phân biệt hết hạn, quyền và lỗi mạng. Với git HTTPS, xem gh auth setup-git và khuyến nghị git 2.46 trở lên. Xem xét riêng thay đổi cấu hình thật.

Một số luồng cần sửa trước

Nếu tích hợp cần token sống lâu, GitHub cũng khuyên hoãn bật cho luồng đó. Chỉ định người phụ trách và ngày xem lại. Không đồng nhất OAuth nhà phát triển với GITHUB_TOKEN của CI. Một cờ không thống nhất mọi quyền và cơ chế thu hồi. Xác nhận hỗ trợ của phiên bản đang dùng.

“Vẫn đăng nhập” che hai câu hỏi: bên quản lý có làm mới được không, và bên dùng có nhận giá trị mới không? Bài này không đo tỷ lệ lỗi cộng đồng. Vẽ một đường sử dụng thật giúp thấy chủ bộ nhớ đệm và phạm vi thử.

Nguồn chính thức và kiểm tra thêm

GitHub Changelog · Expiring OAuth preview

GitHub Docs · CLI authentication

Ghi phiên bản, máy chủ, chủ bộ nhớ đệm và kết quả, không ghi giá trị bí mật.