R/crunchy-ui.R
crunchyPublicBody.RdcrunchyServer() and crunchyBody() allow you to protect your app with
Crunch authentication and authorization. Add these UI contents to your
shiny::shinyUI() body to display different content for visitors who are
not authenticated with Crunch (crunchyPublicBody()) or who are
authenticated but not authorized to access your app
(crunchyUnauthorizedBody).
crunchyPublicBody(...) crunchyUnauthorizedBody(...)
| ... | UI elements for your app, to be conditionally rendered |
|---|
An empty string; these functions are called for their side effects of
registering the UI elements so that crunchyServer() can render them as
appropriate.
crunchyBody(); setCrunchyAuthorization() for governing who is
authorized to view your app.
# NOT RUN { # This is the example from crunchyBody(), adding these alternate bodies: shinyUI(fluidPage( tags$head( # This is content that will always be rendered tags$title("My secure app") ), crunchyBody( # This is content that only is rendered if the user is authorized fluidRow( column(6, h1("Column 1")), column(6, h1("Column 2")) ) ), crunchyPublicBody( # This is shown to visitors who are not logged into Crunch at all h1("Please log into Crunch.") ), crunchyUnauthorizedBody( # This is for Crunch users who don't meet your authorization criteria # Perhaps they don't have access to a particular dataset h1("You don't have access to this app."), tags$div("Contact your_admin@example.com.") ) )) # }