R 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

受Git分支模型和版本缓冲脚本实际功能的启发,我开始创建自己的版本缓冲例程,生成了一个名为

但是,我不喜欢当前处理()HTTPS凭据的方式。我使用的是中所述的解决方案,效果很好,但我不喜欢这样的事实,即我需要在这个
\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!谢谢,哈德利,我不知道。