Enter passwords interactively in R or R Studio (Server)?
Actually R Studio (Server) provides a nice solution. You can access it by using .rs
functions. They provide an undocumented password function which is really nice though there's no guaranteed support forever and a day:
.rs.askForPassword("foo")
You can find the the original hint from RStudio's Josh here: http://support.rstudio.org/help/discussions/questions/1448-password-interaction-with-dbs-on-rstudio-server
EDIT:
As of 2015 there is another nice solution to enter password interactively. You could use shiny
to have a little web based window with a password form. This discussion I had with @hadley shows an example snippet: https://github.com/rstats-db/RPostgres/issues/26
EDIT:
As of 2017 there is another update to this. @m-dz pointed us to this:
rstudioapi::askForPassword("Enter your pw")
as well as getPass::getPass()
from the R Studio Support webpage. Plus, I also realized that there is .rs.api.askForPassword()
which is equivalent to the initially suggested call - at least as far as I've seen.
Related videos on Youtube
Matt Bannert
Data Science and Analytics Engineer Engineer. Global coordinator for @_useRconf. Creator of Hacking for Social Sciences. Talks stats, hoops and trash.
Updated on June 04, 2022Comments
-
Matt Bannert almost 2 years
Is there a way in R to enter passwords interactively to the command line and hide them from the screen? I know there's
readLine
, but I do not know passwords can be hidden there. Assume you want to connect to a database usingROracle
orRMySQL
and do not want to store the password in a script but rather make the user enter it every time a query is executed.Yes, we had a similar question around here, but I feel that the situation has changed and it's worth to address to problem again. Unfortunately
tcltk
won't work on RStudio (Server).However I have seen the folks at R Studio found a solution for their version control support. I remember previous versions where I could see my repo password every time I enter it in R Studio, but now that seems to be fixed. I know it's likely R Studio technique, but is there a way mortal R users can access it when working with R Studio Server?
-
Manoel Galdino almost 11 yearsI have a dumb question. How do I use this function on Rstudio server?
-
Matt Bannert almost 11 years@ManoelGaldino: It just works like on Desktop R. I basically use it in database context like with ROracle or RPostgreSQL in order not to store DB passwords. Works for me on both Desktop and Server version. Did you encounter any specific trouble?
-
m-dz about 7 yearsWas just browsing for this and on an RStudio support webpage
rstudioapi::askForPassword("")
is mentioned as a preferred function when using RStudio, alsogetPass::getPass()
function is mentioned there which seems to be a more versatile solution. -
Matt Bannert about 7 years@m-dz: thanks for the update. I'll your comment to the answer. That wasn't around back in '13.
-
m-dz about 7 years@MattBannert, exactly that was my intent!