Create the Synapse OAuth component of a Shiny app.
If this is
the first time signing in, will need to do OAuth the process. The OAuth
process will redirect back here and an authorization code
should be in the URL parameters. If this code is available, lauch the main
app_ui. This function should be called from startup
called from the UI function specified when creating the application object
(i.e. the function specified in the ui
parameter here
shinyApp(ui = app_ui, server = app_server)
), which receives the request
object and can pass it along.
IMPORTANT: this module assumes the following
global variables are available and valid: app, api, authorization_url,
app_url, claims_params, scope. See setup_global_oauth_vars
.
mod_synapse_oauth_ui(id, request, main_ui = mod_main_ui, main_ui_id = "main") mod_synapse_oauth_server(id, syn)
id | The module id. |
---|---|
request | Shiny request object. |
main_ui | UI function to redirect to when OAuth is done. Defaults to
|
main_ui_id | The module id to use when launching |
syn | Synapse client object |
if (FALSE) { library("dccvalidator") app_ui <- function(request) { mod_synapse_oauth_ui(id = "oauth", request = request) } app_server <- function(input, output, session) { synapse <- reticulate::import("synapseclient") syn <- synapse$Synapse() syn <- mod_synapse_oauth_server( id = "oauth", syn = syn ) shiny::req(inherits(syn, "synapseclient.client.Synapse"), logged_in(syn)) } run_app() }