How to access html page before a shiny app

The code below, when executed, first enters an html page, where it asks for a username and password. Therefore, how can I register a username and password so that I can enter the shiny APP? I know there are shiny packages that work with login and password, however, I would like to use an html page that I created myself to access the shiny app.

Shiny code

ui <- fluidPage(

                        "Number of bins:",
                        min = 1,
                        max = 50,
                        value = 30)


server <- function(input, output) {

    output$distPlot <- renderPlot({
        x    <- faithful[, 2]
        bins <- seq(min(x), max(x), length.out = input$bins + 1)

        hist(x, breaks = bins, col = 'darkgray', border = 'white')


shinyApp(ui = htmlTemplate("www/index.html"), server = server)

enter image description here


<!doctype html>
<html lang="en">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="Mark Otto, Jacob Thornton, and Bootstrap contributors">
    <meta name="generator" content="Hugo 0.101.0">
    <title>Signin Template · Bootstrap v5.2</title>

    <link rel="canonical" href="">

<link href="assets/dist/css/bootstrap.min.css" rel="stylesheet">

      .bd-placeholder-img {
        font-size: 1.125rem;
        text-anchor: middle;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;

      @media (min-width: 768px) {
        .bd-placeholder-img-lg {
          font-size: 3.5rem;

      .b-example-divider {
        height: 3rem;
        background-color: rgba(0, 0, 0, .1);
        border: solid rgba(0, 0, 0, .15);
        border-width: 1px 0;
        box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);

      .b-example-vr {
        flex-shrink: 0;
        width: 1.5rem;
        height: 100vh;

      .bi {
        vertical-align: -.125em;
        fill: currentColor;

      .nav-scroller {
        position: relative;
        z-index: 2;
        height: 2.75rem;
        overflow-y: hidden;

      .nav-scroller .nav {
        display: flex;
        flex-wrap: nowrap;
        padding-bottom: 1rem;
        margin-top: -1px;
        overflow-x: auto;
        text-align: center;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;

    <!-- Custom styles for this template -->
    <link href="signin.css" rel="stylesheet">
  <body class="text-center">
<main class="form-signin w-100 m-auto">
    <img class="mb-4" src="assets/brand/bootstrap-logo.svg" alt="" width="72" height="57">
    <h1 class="h3 mb-3 fw-normal">Insert your login and password</h1>

    <div class="form-floating">
      <input type="email" class="form-control" id="floatingInput" placeholder="">
      <label for="floatingInput">E-mail</label>
    <div class="form-floating">
      <input type="password" class="form-control" id="floatingPassword" placeholder="Senha">
      <label for="floatingPassword">Password</label>

    <div class="checkbox mb-3">
        <input type="checkbox" value="remember-me"> Remember me
    <button class="w-100 btn btn-lg btn-primary" type="submit">Sign in</button>
    <p class="mt-5 mb-3 text-muted">&copy; 2017–2022</p>

Not a solution but you might be interested in shinymanager to handle user authentication.

@llrs , I updated the question and I really appreciate your help, but my idea is to access via the html page I created. Do you know, therefore, how to create a username and password in this case?

If you need a password protected access I would relay on knowledge of security experts.
But you can make your own and use the .htaccess file for html validation:

Good luck!

This topic was automatically closed 54 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.