Provides a simple authentification mechanism for single 'shiny' applications. Authentification and password change functionality are performed calling user provided functions that typically access some database backend. Source code of main applications is protected until authentication is successful.
Simple authentification mechanism for single 'shiny' applications.
Provides a simple authentification and password change functionality are performed calling user provided functions that typically access some database backend.
Source code of main applications is protected until authentication is successful.
ATENTION: This project uses borrowed and modified (stripped and incomplete) code from ShinyManager which provides a more secure, extended, generic and completed authentication solution, please use it instead for stable applications.
Install from CRAN with :
install.packages("shinydbauth")
Or install development version from GitHub :
remotes::install_github("diegoefe/shinydbauth")
To run the sample application:
$ cd db
$ ./mk_db.sh
$ cd ..
$ cp sample-auth.R auth.R
$ vim auth.R
./launch_in_browser.sh
Using options("shinydbauth.pwd_validity"), you can set password validity period. It defaults to Inf. You can specify for example options("shinydbauth.pwd_validity" = 90) if you want to force user changing password each 90 days.
Using options("shinydbauth.pwd_failure_limit"), you can set password failure limit. It defaults to Inf. You can specify for example options("shinydbauth.pwd_failure_limit" = 5) if you want to lock user account after 5 wrong password.
require(shinydbauth)
# shiny integration
?secure_app
?create_server
?auth_ui # ui definition
# change labels / language
?set_labels
You can customize the module (css, image, language, ...).
?secure_app
?auth_ui
?set_labels