Open JARACH-209 opened 2 years ago
Can I see the code you are trying? I think you need to make sure you are setting the option in the right place e.g. options(googleAuthR.redirect = "https://xyz.com/dashboard")
needs to be done before the authentication URL is generated.
it is a simple single page app. I have set up the correct redirects and origins but I suspect that since the redirect parameter is hardcoded to localhost:1221 the app redirects to that uri instead of the one I assign through options()
library(shiny)
library(tidyverse)
library(lubridate)
library(sf)
library(googleAuthR)
load('pricing_files.RData')
WHITELIST <- c("X","Y")
options(googleAuthR.webapp.client_id = "XXXXX")
options(gooleAuthR.webapp.client_secret = "XXXXX")
options(gooleAuthR.redirect = "https://xx.XYZ.com/DASHBOARD")
options(googleAuthR.scopes.selected = c("https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/userinfo.profile"))
user_info <- function() {
f <- gar_api_generator(
"https://www.googleapis.com/oauth2/v1/userinfo",
"GET",
data_parse_function = function(x) x)
f()
}
*** SOME DATA LOADING CODE ***
ui <- uiOutput('myUI')
source('ui.R')
# Define server logic required to draw a histogram
server <- function(input, output, session) {
gar_shiny_auth(session)
#Check if user has already logged in with google authentication
gmail=''
tryCatch({
x <- user_info()
gmail=x$email
})
print(gmail)
output$myUI <- renderUI({
if (gmail %in% WHITELIST){
ui = dash_ui
}
else{
ui = denied_ui
Sys.sleep(1000000)
}
})
observeEvent(input$browser,{
browser()
})
polygonList <- reactive({
polygon_list(input$dc)
})
*** DASHBOARD CODE ***
# val <- reactiveValues( clickx = NULL, clicky = NULL)
#
# observe({
# input$plot_click
# isolate({
# # save new points added
# val$clickx = c(val$clickx, input$plot_click$x)
# val$clicky = c(val$clicky, input$plot_click$y)
# })
# })
#
*** MORE DASHBOARD CODE ***
}
# Run the application
#shinyApp(ui = ui, server = server)
shinyApp(gar_shiny_ui(ui, login_ui = silent_auth), server)
I guess you are using shinyapps.io ? It has an issue where it caches packages - see https://github.com/MarkEdmondson1234/googleAuthR/issues/74
The redirect URL its not possible to set via an environmental variable though.
I suggest you look at client based JS authentication instead, via the firebase
package https://firebase.john-coene.com/
Or rebuild the package with your options by cloning this github locally and rebuilding the package, and upload that to Shinyapps.io instead of the CRAN version.
No I'm not using shinyapps.io. It is r-studio running on a server(ec2 instance) which I can access via nginx web server. Shiny server where the app is deployed resides on the same server.
On Thu, 30 Jun 2022, 18:31 Mark, @.***> wrote:
I guess you are using shinyapps.io ? It has an issue where it caches packages - see #74 https://github.com/MarkEdmondson1234/googleAuthR/issues/74
The redirect URL its not possible to set via an environmental variable though.
I suggest you look at client based JS authentication instead, via the firebase package https://firebase.john-coene.com/
Or rebuild the package with your options by cloning this github locally and rebuilding the package, and upload that to Shinyapps.io instead of the CRAN version.
— Reply to this email directly, view it on GitHub https://github.com/MarkEdmondson1234/googleAuthR/issues/219#issuecomment-1171191339, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKL64V7GI27UUWIXSKOODV3VRWLDBANCNFSM52I5AHTA . You are receiving this because you authored the thread.Message ID: @.***>
@MarkEdmondson1234 can you add me to the slack channel ?
@JARACH-209 were you able to resolve this issue? I have a similar setup - AWS EC2 instance for development and production. During development, I use RStudio Server for debugging and would like the auth to work as well.
@MarkEdmondson1234 Appreciate if you can add a note or an example config for this use case.
What goes wrong
The redirect_uri is hard coded in the package to https://localhost:1221. See the file -> options.R
Steps to reproduce the problem
Please note that if a reproduceable example that I can run is not available, then the likelihood of getting any bug fixed is low.
Just try to run the app on a R-studio server and pass the (googleAuthR.redirect = "https://XYZ.com/dashboard")
Point is that the redirect option in options.R seems to be hardcoded to localhost:1221
Expected output
Use the value passed by the user.
Actual output
Before you run your code, please run:
options(googleAuthR.verbose=2)
and copy-paste the console output here.Check it doesn't include any sensitive info like auth tokens or accountIds - you can usually just edit those out manually and replace with say
XXX
Session Info
Please run
sessionInfo()
so we can check what versions of packages you have installedMatrix products: default BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0 LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0