Github App无法为其他用户创建仓库问题咨询
GitHub App 仓库创建权限问题解答
1. 仓库创建权限是否仅适用于安装App的用户?
不是,但你当前的App配置导致了这个限制。你遇到的Resource not accessible by integration错误,本质是因为你的GitHub App采用了账号安装模式:App的身份归属于安装它的个人/组织账号,只能操作该账号下的仓库资源。其他用户登录授权后,App并未获得访问这些用户个人仓库的权限,因此无法替他们创建仓库。
2. 能否开发支持任意用户登录并创建仓库的GitHub App?
完全可以,需要调整App的配置和授权逻辑:
- 配置用户级权限:在GitHub App的设置页面,添加
repo类权限(比如public_repo用于创建公开仓库,repo用于私有仓库),并将权限的生效范围设置为用户授权时授予,而非仅安装阶段的权限。 - 走用户OAuth授权流程:让用户登录时完成OAuth授权,将App关联到他们自己的个人账号。此时App会获取到代表该用户的访问令牌,拥有该用户权限范围内的仓库操作能力。
- 区分令牌类型:注意两种令牌的差异:安装令牌仅能操作安装App的账号资源,而用户授权令牌可操作授权用户的个人资源。创建仓库时,必须使用用户授权令牌发起API请求。
若App需要同时支持安装账号资源操作和用户个人资源操作,需在流程中判断操作主体,选择对应令牌执行请求。
内容的提问来源于stack exchange,提问作者Casey
相关产品推荐
相关产品推荐

