如何通过API查询有效GitHub Personal Access Token的到期日期
GitHub Personal Access Token到期日期查询方法
存在直接可用的查询方式,无需给PAT额外添加特殊权限,只要令牌本身处于有效状态即可查询:
具体实现方案
调用接口说明
你只需要用待查询的PAT发起如下请求即可:
- 请求方法:
GET - 请求地址:
https://api.github.com/user - 请求头必须携带认证信息:
Authorization: token 你的PAT字符串
返回结果说明
你不需要处理响应体内容,直接从响应头中提取GitHub-Authentication-Token-Expiration字段即可,该字段的值为ISO 8601格式的UTC到期时间,示例如下:
GitHub-Authentication-Token-Expiration: 2024-12-31T23:59:59Z
如果该字段不存在,说明你当前使用的PAT未设置到期时间,属于永久有效类型。
快速测试示例(curl命令)
你可以直接用以下命令验证效果,-I参数表示仅获取响应头,请求效率更高:
curl -I -H "Authorization: token ghp_替换成你自己的PAT" https://api.github.com/user
脚本开发注意事项
- 解析时间时注意时区转换,响应头返回的是UTC时间,需要转换为你所在时区的时间再计算与当前时间的差值
- 通知触发逻辑可以直接判断:到期时间减去当前时间的差值≤24小时,即可触发通知
- 建议加异常处理逻辑:如果请求返回401状态码,说明当前PAT已经过期失效,可以直接触发过期通知
内容的提问来源于stack exchange,提问作者john smith
相关产品推荐
相关产品推荐

