FirebaseSocial: Social

FirebaseSocialR Documentation

Social

Description

Use social sites for authentication.

Value

An object of class FirebaseSocial.

Super classes

firebase::Firebase -> firebase::FirebaseAuth -> FirebaseSocial

Methods

Public methods

Inherited methods

Method new()

Usage
FirebaseSocial$new(
  persistence = c("session", "local", "memory"),
  config_path = "firebase.rds",
  language_code = NULL,
  session = shiny::getDefaultReactiveDomain()
)
Arguments
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.

Details

Initialiases Firebase Social

Initialises the Firebase application client-side.


Method set_scope()

Usage
FirebaseSocial$set_scope(scope)
Arguments
scope

Google scope.

Details

Define the scope to request from Google.

Returns

self


Method launch_google()

Usage
FirebaseSocial$launch_google(flow = c("popup", "redirect"))
Arguments
flow

Authentication flow, either popup or redirect.

Details

Launch sign in with Google.

Returns

self


Method launch_github()

Usage
FirebaseSocial$launch_github(flow = c("popup", "redirect"))
Arguments
flow

Authentication flow, either popup or redirect.

Details

Launch sign in with Github.

Returns

self


Method launch_facebook()

Usage
FirebaseSocial$launch_facebook(flow = c("popup", "redirect"))
Arguments
flow

Authentication flow, either popup or redirect.

Details

Launch sign in with Facebook.

Returns

self


Method launch_twitter()

Usage
FirebaseSocial$launch_twitter(flow = c("popup", "redirect"))
Arguments
flow

Authentication flow, either popup or redirect.

Details

Launch sign in with Facebook.

Returns

self


Method clone()

The objects of this class are cloneable with this method.

Usage
FirebaseSocial$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

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()
  })
}

## Not run: shinyApp(ui, server)


firebase documentation built on July 9, 2023, 7:07 p.m.