Use social sites for authentication.
firebase::Firebase
-> firebase::FirebaseAuth
-> FirebaseSocial
Inherited methods
firebase::Firebase$expose_app()
firebase::FirebaseAuth$clear()
firebase::FirebaseAuth$delete_user()
firebase::FirebaseAuth$expose_auth()
firebase::FirebaseAuth$get_access_token()
firebase::FirebaseAuth$get_delete_user()
firebase::FirebaseAuth$get_id_token()
firebase::FirebaseAuth$get_sign_out()
firebase::FirebaseAuth$get_signed_in()
firebase::FirebaseAuth$get_signed_up()
firebase::FirebaseAuth$is_signed_in()
firebase::FirebaseAuth$print()
firebase::FirebaseAuth$req_sign_in()
firebase::FirebaseAuth$req_sign_out()
firebase::FirebaseAuth$request_id_token()
firebase::FirebaseAuth$set_language_code()
firebase::FirebaseAuth$sign_out()
new()
FirebaseSocial$new(
persistence = c("session", "local", "memory"),
config_path = "firebase.rds",
language_code = NULL,
session = shiny::getDefaultReactiveDomain()
)
persistence
How the auth should persit: none
, the user has to sign in at every visit,
session
will only persist in current tab, local
persist even when window is closed.
config_path
Path to the configuration file as created by firebase_config
.
language_code
Sets the language to use for the UI.
Supported languages are listed here.
Set to browser
to use the default browser language of the user.
session
A valid shiny session.
launch_google()
FirebaseSocial$launch_google(flow = c("popup", "redirect"))
launch_github()
FirebaseSocial$launch_github(flow = c("popup", "redirect"))
launch_facebook()
FirebaseSocial$launch_facebook(flow = c("popup", "redirect"))
launch_twitter()
FirebaseSocial$launch_twitter(flow = c("popup", "redirect"))
library(shiny)
library(firebase)
# define signin
signin <- modalDialog(
title = "Login",
actionButton("google", "Google", icon = icon("google"), class = "btn-danger"),
actionButton("github", "Github", icon = icon("github")),
footer = NULL
)
ui <- fluidPage(
useFirebase()
)
server <- function(input, output) {
showModal(signin)
f <- FirebaseSocial$new()
observeEvent(input$google, {
f$launch_google()
})
observeEvent(input$github, {
f$launch_github()
})
}
if (FALSE) shinyApp(ui, server)