I can not generate token in the server side of shiny app
Opened this issue · 0 comments
hi
I am developing the corporate shiny app via golem package and it is required to implement oath2.0 authentication and authorization workflow. For this purpose i am using the example specified here.
The ui section works well (i am using the templeate as in example without any changes) -> i am logging in through microsoft login service -> redirect to the site specified in redirect_uri -> the app works as expected.
The server generates an error. The error is generated by get_azure_token(). I have used the same approach as in server section of the snippet -> applied the example as it is -> password = client_secret.
token <- AzureAuth::get_azure_token(
resource = c('my_resource/.default', 'openid')
,tenant = 'my_tenant_id'
,app = "my_app_id"
,password = client_secret
,auth_type = "authorization_code"
,auth_code = opts$code
,authorize_args = list(redirect_uri = redirect)
,version = 2
,use_cache = FALSE
)
The error is as follows:
[1] "start token generation ..."
Server did not provide a refresh token: you will have to reauthenticate to refresh.
Add the 'offline_access' scope to obtain a refresh token.
if i add 'offline_access' to the scope -> c('my_resource/.default', 'openid', 'offline_access') -> the error is changed to:
[1]"start token generation ..."
Warning: Error in as.vector: cannot coerce type 'environment' to vector of type 'character'
47: as.character.default
45: sprintf
40: server
3: runApp
2: print.shiny.appobj
1: <Anonymous>
Error in as.vector(x, "character") :
cannot coerce type 'environment' to vector of type 'character'
I would be gratefull for any hint to resolve the issue.