R HTTPS凭据:混淆控制台或弹出窗口输入
受Git分支模型和版本缓冲脚本实际功能的启发,我开始创建自己的版本缓冲例程,生成了一个名为 但是,我不喜欢当前处理()HTTPS凭据的方式。我使用的是中所述的解决方案,效果很好,但我不喜欢这样的事实,即我需要在这个R HTTPS凭据:混淆控制台或弹出窗口输入,r,git,github,https,obfuscation,R,Git,Github,Https,Obfuscation,受Git分支模型和版本缓冲脚本实际功能的启发,我开始创建自己的版本缓冲例程,生成了一个名为 但是,我不喜欢当前处理()HTTPS凭据的方式。我使用的是中所述的解决方案,效果很好,但我不喜欢这样的事实,即我需要在这个\u netrc文件中以纯文本形式存储凭据 所以我想: 如果在通过readline()、scan()或类似方式进行提示时,也可能会混淆控制台输入,其方式与使用Git shell时大致相同。参见第454行的代码: input <- readline(paste0("Password
\u netrc
文件中以纯文本形式存储凭据
所以我想:
readline()
、scan()
或类似方式进行提示时,也可能会混淆控制台输入,其方式与使用Git shell时大致相同。参见第454行的代码:
input <- readline(paste0("Password for 'https://",
git_user_email, "@github.com': "))
idx <- ifelse(grepl("\\D", input), input, NA)
if (is.na(idx)){
message("Empty password")
message("Exiting")
return(character())
}
git_https_password <- input
inputGit具有存储、缓存或提示凭据的机制。请阅读
在一个脚本中,您可以使用git credential
命令访问它:我曾经与GitHub API进行过斗争,通过许多伟人的共同努力,产生了一个小R函数,将本地repo作为新的repo发送到GitHub。代码使用\u netcr
。它可能对你有用,你不能保证它是最佳实践,但里面可能有有用的东西。谢谢你。是你在我链接的帖子中的努力首先让我走了出来!:-)我会查一查的,非常感谢!是的,我能想到的最好办法就是将密码存储在用户的主目录中。Dason K.建议将其置于temp之上,因为其他人可能会访问它(如果我没记错的话)。函数尝试删除脚本,但无法保证这一点。我想您可以检查是否使用file.exists
删除了它,但即使在该步骤之前函数出错,也可能不会删除。对于github,您应该使用个人访问令牌,例如Aha!谢谢,哈德利,我不知道。