Home > database >  Can't get Github PAT to persist - RStudio & Ubuntu 20
Can't get Github PAT to persist - RStudio & Ubuntu 20

Time:08-25

I'm using RStudio Github and have been following the instructions here: https://happygitwithr.com/https-pat.html

It works great, except that within a couple of hours the PAT no longer works and I'm prompted to enter a username/password. I go back and generate a new PAT, and repeat. Here's the code I'm using.


> usethis::create_github_token()
• Call `gitcreds::gitcreds_set()` to register this token in the local Git credential store
  It is also a great idea to store this token in any password-management software that you use
✔ Opening URL 'https://github.com/settings/tokens/new?scopes=repo,user,gist,workflow&description=DESCRIBE THE TOKEN\'S USE CASE'
> usethis::create_github_token()
• Call `gitcreds::gitcreds_set()` to register this token in the local Git credential store
  It is also a great idea to store this token in any password-management software that you use
✔ Opening URL 'https://github.com/settings/tokens/new?scopes=repo,user,gist,workflow&description=DESCRIBE THE TOKEN\'S USE CASE'
> gitcreds::gitcreds_set()


? Enter password or token: <token>
-> Adding new credentials...
-> Removing credetials from cache...
-> Done.

I have also set the following:

git config --global credential.helper 'cache --timeout=10000000'

CodePudding user response:

The PAT can be stored as environment variable so a key=value assignment in the ~/.Renviron file is a very possible solution.

Another is to explicitly inject it from ~/.Rprofile via Sys.setenv(key="value").

You can test either in any R session via

> v <- Sys.getenv()
> "GITHUB_PAT" %in% names(v)
[1] TRUE
> 

When you create a PAT (in the GitHub UI) you can give it explicit lifetimes. I happily re-used on this week which I created a year ago for a particular scripting need.

CodePudding user response:

I am having the same problem under PopOS (running on top of Ubuntu), except that I can use: gitcreds::gitcreds_set()

and re-supply an existing PAT, so the problem is persistence of local storage of the PAT.

  • Related