使用GitHub仓库部署Azure Web App时遇UpdateSiteSourceControl操作失败(凭证错误)
解决Azure Web App从GitHub部署时的"Bad credentials" OAuth错误
问题重现
部署Azure Web App时触发以下错误:
{ "status": "Failed", "error": { "code": "BadRequest", "message": "<Error xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><Code>BadRequest</Code><Message>Repository 'UpdateSiteSourceControl' operation failed with Microsoft.Web.Hosting.SourceControls.OAuthException: GitHub GetSecretsPublicKey: Bad credentials
\n at Microsoft.Web.Hosting.SourceControls.GitHubProxy.< ... </message> } }
已尝试通过部署中心重新授权GitHub账户、在GitHub撤销Azure旧权限,但问题依旧。
解决步骤
- 彻底重置Azure-GitHub连接:进入Azure Portal的目标Web App → 部署中心 → 管理连接,删除所有现有GitHub连接,重新点击授权,选择正确的GitHub账户,确保授权时勾选目标仓库的访问权限。
- 手动使用GitHub个人访问令牌(PAT):如果自动授权仍失败,在GitHub创建新的PAT,勾选
repo和admin:repo_hook权限,然后在Azure部署中心选择使用个人访问令牌,输入新PAT完成连接。 - 重置部署中心配置:临时切换部署源为本地Git并保存,再切回GitHub重新配置仓库和分支,清除旧配置缓存。
- 验证仓库访问权限:确认GitHub账户对目标仓库有读取权限(私有仓库需确保账户在仓库成员列表中,权限至少为读取)。
- 检查Web App标识权限:若启用了系统/用户分配标识,确认该标识拥有部署相关的必要权限,避免标识权限不足导致凭证验证失败。
内容的提问来源于stack exchange,提问作者Ha Bom
相关产品推荐
相关产品推荐

