version cranlogs

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 :


Or install development version from GitHub :



To run the sample application:

  1. Open a terminal (bash) and cd into demo.
  2. Choose database backend to use:
    1. For SQLite:
      1. cd to “db” and run and go back: bash $ cd db $ ./ $ cd ..
      2. look for users and passwords in sqlite.sql
    2. For PostgreSQL:
      1. Create a database and two functions:
        • fetch_user()
        • update_user() Use the signatures for db_pg.R’s queries
      2. Copy sample-auth.R to auth.R and set it up with correct values: bash $ cp sample-auth.R auth.R $ vim auth.R
  3. Open app.R and follow SETUP instructions
  4. Run the demo: bash ./

Available languages

Password validity period

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.

Failure limit

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.

Relevant R documentation


# shiny integration
?auth_ui # ui definition

# change labels / language


You can customize the module (css, image, language, …).