Heroku团队member角色通过API创建应用webhook首次请求403问题
问题根因
该问题由Heroku团队应用的细粒度权限同步机制导致,已有大量团队member角色用户反馈过同类问题:
- Heroku不会主动将团队member角色的单应用操作权限同步到API鉴权模块,只有当账号首次触发该应用的访问校验(Web端访问应用页面/调用应用详情查询接口)时,系统才会把webhook操作等细粒度权限写入API鉴权缓存,未同步前调用创建webhook接口就会返回403。
- 如果你使用的是长期API Key作为授权凭证,也会存在Key与应用权限的关联延迟,Web端访问应用的操作会触发关联绑定逻辑。
实现首次请求成功的解决方案
- 预调用应用详情接口触发权限同步
在发送创建webhook的POST请求前,先调用一次应用详情查询接口,该接口会触发和Web端访问完全相同的权限同步逻辑:
GET https://api.heroku.com/apps/{{app-id}} Accept: application/vnd.heroku+json; version=3 Authorization: Bearer {{token}}
该接口调用成功后,再发起创建webhook的请求即可正常返回成功结果,无需手动访问Web页面。
调整应用权限配置
如果你拥有团队管理员权限,可以直接将需要创建webhook的账号添加为对应应用的协作者,添加后该账号的应用细粒度权限会永久同步到API鉴权模块,不需要额外触发预校验操作。校验授权凭证权限范围
如果你使用的是OAuth2 Token,需要确认生成Token时已经添加了manage_webhooks权限范围,避免凭证本身没有对应操作权限。
内容的提问来源于stack exchange,提问作者burrag
相关产品推荐
相关产品推荐

