The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Esta viñeta proporciona un tutorial paso a paso sobre cómo asegurar una aplicación Shiny utilizando la autenticación de Google a través del paquete R tapLock. tapLock simplifica la integración de OpenID Connect y OAuth 2.0 en aplicaciones Shiny, asegurando una robusta seguridad con un esfuerzo mínimo de codificación.
Antes de proceder, asegúrate de tener lo siguiente: - Un conocimiento básico de R y Shiny. - Una aplicación Shiny lista para ser desplegada. - Acceso a Google Developer Console para las credenciales OAuth. - (Opcional) Un servidor con HTTPS habilitado.
Instala tapLock desde GitHub usando el paquete pak
:
Authorized JavaScript origins
en la URL de
tu aplicación Shiny.Authorized redirect URIs
en la URL de tu aplicación Shiny con el sufijo /login
.client_id
y el
client_secret
.Carga tapLock y configura la autenticación:
library(taplock)
auth_config <- new_openid_config(
provider = "google",
client_id = Sys.getenv("GOOGLE_CLIENT_ID"),
client_secret = Sys.getenv("GOOGLE_CLIENT_SECRET"),
app_url = Sys.getenv("SHINY_APP_URL")
)
Reemplaza GOOGLE_CLIENT_ID
,
GOOGLE_CLIENT_SECRET
, y SHINY_APP_URL
con tus
credenciales reales y la URL de tu aplicación en tus variables de
entorno.
Modifica tu aplicación Shiny para usar
sso_shiny_app
:
library(shiny)
library(tapLock)
# Configuración de autenticación
auth_config <- new_openid_config(
provider = "google",
client_id = Sys.getenv("GOOGLE_CLIENT_ID"),
client_secret = Sys.getenv("GOOGLE_CLIENT_SECRET"),
app_url = Sys.getenv("SHINY_APP_URL")
)
# UI
ui <- fluidPage(
tags$h1("Bienvenido a la Aplicación Shiny Segura"),
textOutput("userInfo")
)
# Server
server <- function(input, output, session) {
output$userInfo <- renderText({
user_email <- get_token_field(token(), "email")
glue::glue("Conectado como: {user_email}")
})
}
# Asegurar aplicación Shiny con tapLock
sso_shiny_app(auth_config, ui, server)
Despliega tu aplicación Shiny como lo harías normalmente. El paquete tapLock maneja el proceso de autenticación. Recomendamos desplegar tu aplicación con una solución como Shiny Server (Open Source o Pro) o con faucet. Soluciones como Posit Connect ya incluyen autenticación y no requieren tapLock.
Siguiendo estos pasos, has asegurado con éxito tu aplicación Shiny con autenticación de Google utilizando tapLock. Esto asegura que solo los usuarios autenticados puedan acceder a tu aplicación, mejorando su seguridad y privacidad.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.