R Shiny authentication (incl. demo app)

R Shiny authentication (incl. demo app)

This tutorial comes with a R Shiny demo application which you can access here. Create professional web applications for your company


Shiny is extremely powerful to quickly build interactive web applications. It’s also the preferred technological solution for many data scientists, because it’s R-native.

As not all web applications are meant to be public, the ability to control access should be part of the know-how of any aspiring data scientist.

This tutorial will introduce you to a few options to secure your Shiny apps through authentication layer.

Note: in order to get the most from this tutorial, interested reader should already be familiar with basic Shiny principles (e.g. reactivity, how to use a module), web development (e.g. html tags and css), and RStudio projects.


This tutorial comes with a R Shiny demo application which you can access here.

The complete code is also available on my **[bitbucket account](https://bitbucket.org/cho7tom/authentication/src/master/).**


This tutorial will cover several approaches to secure access to R Shiny web application.

  1. First, I’ll cover the basics of authentication, building my own login form, making the app appear (and the login form disappear) in case of correct credentials provided by the user.
  2. Then, I’ll pack the login form and the corresponding server logic into a **[module**](https://shiny.rstudio.com/articles/modules.html). This will increase your application readability and maintainability, and make your login form easy to reuse across several applications.
  3. In a third step, I’ll leverage the **[shinyauthr](https://paul.rbind.io/shinyauthr/) package, which is basically an implementation of step 2 with a few additional functionalities, including **password hashing (based on the sodium package).
  4. Lastly, I’ll briefly mention two other approaches.

Note: for the sake of the demonstration, I created a table to store username and password straight from the Shiny server section. Keep in mind that *credentials should be encrypted and stored in a database in the case of apps deployed in production *(database connection is not covered in this particular post).

data-science web-development shiny r devops

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Data Cleaning in R for Data Science

A data scientist/analyst in the making needs to format and clean data before being able to perform any kind of exploratory data analysis.

Hire Dedicated DevOps Developers

Hire our Dedicated DevOps Developers who have in-depth skills and expertise to develop an interactive and secure web application. Get custom DevOps solutions for your project.

50 Data Science Jobs That Opened Just Last Week

Data Science and Analytics market evolves to adapt to the constantly changing economic and business environments. Our latest survey report suggests that as the overall Data Science and Analytics market evolves to adapt to the constantly changing economic and business environments, data scientists and AI practitioners should be aware of the skills and tools that the broader community is working on. A good grip in these skills will further help data science enthusiasts to get the best jobs that various industries in their data science functions are offering.

Hire DevOps Developer

Looking to hire top DevOps developers at affordable prices? **[Hire DevOps Developer](https://hourlydeveloper.io/hire-dedicated-devops-developer/ "Hire DevOps Developer")** from **[HourlyDeveloper.io](https://hourlydeveloper.io/...

Applications Of Data Science On 3D Imagery Data

The agenda of the talk included an introduction to 3D data, its applications and case studies, 3D data alignment and more.