如何在Rstudio上更新GitHub身份验证令牌以符合新政策?

29

昨天在向GitHub推送提交时,我收到了GitHub团队的一封电子邮件:

使用密码进行Git的基本身份验证已被弃用,不久将不再起作用。请访问https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/获取更多有关建议解决方法和删除日期的信息。

谢谢, GitHub团队

我不理解帮助页面上的任何词语……

几个月前,当他们首次宣布身份验证更改时,我创建了一个更安全的访问令牌,并将其输入我的Mac终端。我以为那就是全部了。我的问题是:如何更新在不需要令牌的情况下创建的Rstudio会话以匹配新的访问令牌策略?

提前感谢您的帮助,
Rosalie


6
也许 https://happygitwithr.com/credential-caching.html#credential-caching 可以帮助。 - r2evans
3个回答

51
我不知道如何验证@r2evans上面的评论,但确实有效! 我已经设置了PAT令牌,所以我按照https://happygitwithr.com/credential-caching.html#credential-caching中10.2.1.1开始的步骤进行操作。
install.packages("gitcreds")
library(gitcreds)
gitcreds_set()

我必须输入我的账户密码(电脑密码),然后它显示了我的当前身份参数。在控制台中,出现了三个选项:

1: Keep these credentials
2: Replace these credentials
3: See the password / token

选择2以替换密码/令牌(凭证),然后就完成了!

感谢 @r2evans 提供的简易解决方案。


这个方法可行!只需要运行gitcreds_set()并插入token,问题就解决了。需要注意的是,在提示输入密码/令牌时,必须添加一个令牌。您可能需要先创建一个令牌。要创建令牌,请参见以下文档:https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token - madsR
而且(给未来的自己注意),令牌不应该用引号括起来! - p0bs

11

@ r2evans 这很有帮助!

对于以后访问此线程的访问者,运行gitcreds_set()将在Rstudio中提示一个对话框,询问您想要对先前存在的用户/密码凭据执行什么操作。

1: Keep these credentials
2: Replace these credentials
3: See the password / token

选择第二个选项后,我使用在Github上已经创建的一个token取代了我的凭据。它运行得非常流畅!


1
选项对我来说没有出现,但当我从RStudio推送时,只需在要求用户和密码时输入PAT即可。 - Karthik Thrikkadeeri

6

以上的解决方案对我无效。我必须使用:

credentials::set_github_pat("my_pat")

然后在弹出的框中提示时,我必须使用我的PAT作为密码。


1
那也是我必须要做的。谢谢分享。 - ACG
不是错的,但为什么他们要把这一步搞得这么繁琐呢?对我来说弹出框不太好。 - Michael Tuchman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接