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:
bash
$ cp sample-auth.R auth.R
$ vim auth.Rbash
./launch_in_browser.shUsing 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
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.