FirebaseOauthProviders: OAuth Providers

FirebaseOauthProvidersR Documentation

OAuth Providers

Description

Use OAuth provides such as Github or Facebook to allow users to conveniently sign in.

Value

An object of class FirebaseOauthProviders.

Super classes

firebase::Firebase -> firebase::FirebaseAuth -> FirebaseOauthProviders

Methods

Public methods

Inherited methods

Method new()

Usage
FirebaseOauthProviders$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 Email Link

Initialises the Firebase application client-side.


Method set_provider()

Usage
FirebaseOauthProviders$set_provider(provider, ...)
Arguments
provider

The provider to user, e.g.: microsoft.com, yahoo.com or google.com.

...

Additional options to pass to setCustomParameters.

Details

Define provider to use

Returns

self


Method launch()

Usage
FirebaseOauthProviders$launch(
  flow = c("popup", "redirect"),
  get_credentials = FALSE
)
Arguments
flow

Authentication flow, either popup or redirect.

get_credentials

Whether to extract underlying oauth credentials.

Details

Launch sign in with Google.

Returns

self


Method clone()

The objects of this class are cloneable with this method.

Usage
FirebaseOauthProviders$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

library(shiny)
library(firebase)

ui <- fluidPage(
  useFirebase(),
  actionButton("signin", "Sign in with Microsoft", icon = icon("microsoft")),
  plotOutput("plot")
)

server <- function(input, output, session){
  f <- FirebaseOauthProviders$
    new()$
    set_provider("microsoft.com")

  observeEvent(input$signin, {
    f$launch()
  })

  output$plot <- renderPlot({
    f$req_sign_in()
    plot(cars)
  })
  
}

## Not run: shinyApp(ui, server)


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