Azure/AzureAuth

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.