Bitbucket OAuth授权撤销API求助:如何在自有网站实现授权撤销
在自有网站实现Bitbucket OAuth授权撤销的方法
场景1:用户主动撤销对应用的全部授权(使用用户Access Token)
当用户在你的网站发起撤销操作时,可调用Bitbucket的用户授权删除接口:
- 请求方式:
DELETE - 接口路径:
/2.0/user/oauth2/grants/{你的OAuth Client ID} - 身份验证:在请求头中携带用户的有效Access Token,格式为
Authorization: Bearer {user_access_token} - 效果:调用成功后,该用户对你应用的所有授权令牌(包括刷新令牌)都会被撤销,用户需重新授权才能再次使用你的应用。
场景2:应用主动撤销特定用户的令牌(使用应用Client Credentials)
如果需要主动收回某个用户的授权令牌,可按以下步骤操作:
获取目标用户的令牌ID
- 请求方式:
GET - 接口路径:
/2.0/oauth2/tokens - 身份验证:使用应用的Client ID和Client Secret做Basic Auth(将
{client_id}:{client_secret}进行Base64编码后,放在请求头Authorization: Basic {base64_encoded_string}) - 从返回结果中筛选出对应用户的令牌记录,提取
id字段(即token_id)
- 请求方式:
撤销该令牌
- 请求方式:
DELETE - 接口路径:
/2.0/oauth2/tokens/{token_id} - 身份验证:同样使用应用的Client Credentials做Basic Auth
- 效果:该特定令牌会被作废,若用户还有其他有效令牌(比如通过刷新令牌生成的新token),需重复操作或直接使用场景1的方法撤销全部授权。
- 请求方式:
注意事项
- 确保请求的身份验证方式正确,不同场景对应不同的鉴权方式
- 用户撤销授权的接口仅需用户自身的Access Token即可调用,无需应用的Client Credentials
- 调用接口前需确认用户的Access Token未过期,否则需先通过刷新令牌获取新的有效Token
内容的提问来源于stack exchange,提问作者karthi keyan
相关产品推荐
相关产品推荐

