在git push上获得“拒绝允许OAuth应用创建或更新无.github/workflows/cd.yml
范围的工作流workflow
的信息”。如何授予工作流范围?
答案 0 :(得分:14)
这个问题的发生也仅仅是因为您当前的令牌不允许在 Github 上使用工作流。 执行以下步骤修复
对于在 MacOS 上使用 Android Studio 的人:
记得点击“确定”按钮。
答案 1 :(得分:9)
就我而言,我在 macOS 钥匙串中有过时的 GitHub 凭据。我正在修改工作流文件并从命令行推送更改,因此我根本没有考虑检查钥匙串。 Updating credentials from the macOS Keychain 解释了如何使用 git credential-osxkeychain
擦除钥匙串:
$ git credential-osxkeychain erase
host=github.com
protocol=https
> [Press Return]
然后我不得不再次输入我的用户名和密码。这次我生成了一个新的个人访问令牌并将该令牌用作密码。然后我终于可以推动工作流程的变化。
答案 2 :(得分:7)
当试图使用IntelliJ推送到包含GitHub Action工作流(.github / workflows中的Yaml文件)的分支时,我确实遇到了这个问题。我发现Internet上的现有资源不是很有帮助,所以希望这也可以帮助您解决它。
TL; DR:在GitHub中启用workflow
范围的情况下生成新的OAuth令牌,并将您的应用程序配置为使用该令牌。
背景:与GitHub集成的第三方工具(例如IntelliJ,Visual Studio Code,Github Desktop等)使用OAuth令牌连接到您的GitHub帐户,以便它们可以代表您拉/推。对于IntelliJ,他们的指令仅说包括repo
,gist
和read:org
范围。但是您需要workflow
范围来修改GitHub Actions。
解决方法如下:
workflow
。在IntelliJ中,最后一步是转到“设置”>“版本控制”>“ GitHub”,然后删除现有集成并重新添加它,并粘贴新令牌。您必须找出要使用的工具以为其提供新的GitHub OAuth令牌的必要条件。
答案 3 :(得分:7)
对于Windows 10:转到设置->凭据管理器-> Windows凭据->删除github.com凭据-> git从git-bash控制台拉/推送您的github项目->在IDE / Source控件中重新连接GitHub帐户。 您不需要使用“工作流程”创建个人访问令牌,也不需要创建秘密的GITHUB_TOKEN(它会创建自动,而不能创建手动)
答案 4 :(得分:6)
我很惊讶 Mac 用户没有答案。我正在从 Atom 文本编辑器推送我的工作流文件,这对我有用。
github.com
Internet password
(从 Big Sur 开始),它之前充满了看似随机的标记。使用步骤 1 中生成的以 ghp_
开头的令牌替换密码条目。答案 5 :(得分:4)
我已经包含了很多屏幕截图`因为这比它应该更难解决。
事后看来,@CSRedRat 说的是对的,但当我遇到问题时,我无法理解,因为答案太简洁了。
最终促使我找到解决方案的是 this article,这使情况更加清晰。
这是交易。虽然您可以使用 GitHub 开发人员设置菜单来解决这个问题,以生成一个新的令牌,然后将其粘贴到 Windows 凭据管理器中,但您不应该,因为最终该令牌将过期,然后您将再次遇到此问题,因为自从您手动设置令牌后,没有人知道如何刷新令牌。
相反,此令牌权限问题需要通过适用于 Windows 的 Git 修复。因此,交易是 Windows 的“旧”Git Credential Manager 没有要求 privs 来创建或更新工作流,但现在您需要它们。好消息是有一个我们称为 Git Credential Manager Core 的新版本,它确实需要这些权限等等。
新的凭证管理器随 Git 2.28 及更高版本一起提供,但默认情况下未启用。如果您已经安装了此版本或更高版本的 Git for Window,那么您甚至已经拥有该软件。就我而言,我使用的是 2.30.2 版,所以我已经有了新软件。
但它仍然使用我的旧 Git 作为 Windows 凭据,这些凭据不带有所需的权限。 zyjsy 也可能是您的情况,或者如果您的版本低于 2.28,那么您需要先安装较新的版本。无论哪种方式,一旦您的计算机上有足够新的 Windows 版本的 Git,下一步就是通过在 Windows 搜索框中键入“windows 凭据管理器”来删除旧凭据。
然后找到每个 git 凭证,点击它并点击删除按钮。
现在,当您下次尝试从 git bash
Visual Studio 或您使用的任何 git 客户端访问您的 get 帐户时,系统将提示您输入新凭据,因为旧凭据已消失。单击下面对话框中的 Sign in with your browser
按钮:
然后你会看到一个像下面这样的网页,如果你展开工作流下拉菜单,你会看到它要求你这次需要的权限。然后点击 Authorize
按钮。
一旦你这样做了,你会看到一个像这样提供你的github密码的页面:
现在您的 Windows 凭证管理器中有一个新凭证,它具有您需要的权限,并且您曾经失败的操作现在将成功。是的!
答案 6 :(得分:2)
我在尝试将更改推送到 .\github\workflows\build.yml 时遇到了 CLion 2020.2.3 的这个问题。 CLion 似乎使用了不包括“工作流”范围的“JetBrains IDE 集成”令牌(GitHub 设置 -> 应用程序 -> 授权 OAuth 应用程序)。似乎没有办法更改此令牌的范围。
我创建了一个具有正确权限的新个人访问令牌(GitHub 设置 -> 开发人员设置 -> 个人访问令牌 -> 生成新令牌),但我无法配置 CLion 以使用它。
最终我可以使用 GitHub Desktop 来推送提交。
答案 7 :(得分:0)
我必须将Git For Windows升级到2.29.2.2版。这就允许git命令行通过GitHub现在需要的浏览器登录。
在尝试重置Windows Credential Manager并重新生成我的个人访问令牌后,我这样做了,但无法解决该问题。但这确实导致GitHub向我发送了这样的电子邮件:
[GitHub]需要采取的措施-不再支持Windows Git中的密码身份验证
我们检测到您最近尝试使用旧版Git for Windows向GitHub进行身份验证。 GitHub更改了用户使用Windows版Git时进行身份验证的方式,现在需要使用Web浏览器对GitHub进行身份验证。为了能够通过Web浏览器登录,用户需要更新到Windows的最新版本。
答案 8 :(得分:0)
这在 GitKraken 上发生在我身上。我只是从 GitKraken 断开并重新连接 GitHub 并且它起作用了。
答案 9 :(得分:0)
这在 PHPStorm 上发生在我身上。我试图使用 IDE 提交和推送我的更改,所以当我收到错误时,我尝试在 IDE 控制台上使用命令行推送,我得到了它。
答案 10 :(得分:0)
通过使用 Desktop Github App
推送我的更改来修复此问题(它似乎具有完全权限与 vs 代码的有限范围)。
通过修改的工作流文件获得一次提交后,我能够在 vs code
中再次正常进行推送提交。