目前是否支持通过GitLab API撤回访问令牌?
GitLab OAuth访问令牌程序化撤回相关说明
两年前曾有社区用户提问,是否可通过GitLab API以编程方式撤回访问令牌,当时得到的答复为功能暂不支持。目前尚未查询到可证实或推翻该限制仍然存在的最新公开资料。
原本的实现思路是借助Python的HTTP请求库发起如下接口调用:
headers = {'Authorization': clientSecret} res = gitlab.post("https://gitlab.com/oauth/revoke", headers=headers, data={ 'client_id': clientID, 'access_token': accessToken }) print(res.text)
在调整了多组请求参数变体后,该接口始终返回空响应。
实际落地的参考信息
- 接口空响应的常见原因是请求格式不符合OAuth 2.0规范:GitLab的OAuth撤回接口严格遵循RFC 7009标准的校验逻辑,直接将clientSecret明文作为Authorization头值、未将请求参数按
application/x-www-form-urlencoded格式正确编码,都会被服务端网关静默拦截,不返回具体错误提示 - 需核对当前GitLab实例的版本:官方公开文档记录显示,
/oauth/revoke接口是GitLab 13.0版本后才正式上线的能力,版本低于该阈值的自建实例暂不支持通过该路径撤回令牌 - 针对暂未上线该接口的旧版本实例,目前没有官方提供的程序化撤回令牌的替代API,只能通过个人账号下的授权应用管理页面手动移除对应授权,关联的访问令牌才会同步失效。
内容的提问来源于stack exchange,提问作者d-cubed
相关产品推荐
相关产品推荐

