Description Usage Arguments Value Examples
Shiny UI Module for use with loginServer
1 2 3 4 5 6 7 8 9 10 |
id |
An ID string that corresponds with the ID used to call the module's server function |
title |
header title for the login panel |
user_title |
label for the user name text input |
pass_title |
label for the password text input |
login_title |
label for the login button |
error_message |
message to display after failed login |
additional_ui |
additional shiny UI element(s) to add below login button. Wrap multiple inside |
cookie_expiry |
number of days to request browser to retain login cookie |
Shiny UI login panel with user name text input, password text input and login action button.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | library(shiny)
# dataframe that holds usernames, passwords and other user data
user_base <- dplyr::tibble(
user = c("user1", "user2"),
password = c("pass1", "pass2"),
permissions = c("admin", "standard"),
name = c("User One", "User Two")
)
ui <- fluidPage(
# add logout button UI
div(class = "pull-right", shinyauthr::logoutUI(id = "logout")),
# add login panel UI function
shinyauthr::loginUI(id = "login"),
# setup table output to show user info after login
tableOutput("user_table")
)
server <- function(input, output, session) {
# call login module supplying data frame,
# user and password cols and reactive trigger
credentials <- shinyauthr::loginServer(
id = "login",
data = user_base,
user_col = user,
pwd_col = password,
log_out = reactive(logout_init())
)
# call the logout module with reactive trigger to hide/show
logout_init <- shinyauthr::logoutServer(
id = "logout",
active = reactive(credentials()$user_auth)
)
output$user_table <- renderTable({
# use req to only render results when credentials()$user_auth is TRUE
req(credentials()$user_auth)
credentials()$info
})
}
if (interactive()) shinyApp(ui = ui, server = server)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.