Skip to content

Commit 059d0a5

Browse files
authored
Support OIDC client authorization_parameters #168 (#170)
1 parent ff8354e commit 059d0a5

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

R/authentication.R

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ AbstractOIDCAuthentication <- R6Class(
242242
private$id = provider$id
243243
private$title = provider$title
244244
private$description = provider$description
245+
private$authorization_parameters = if (is.list(provider$authorization_parameters)) provider$authorization_parameters else list()
245246

246247
private$isJwt = isJwt
247248

@@ -404,6 +405,7 @@ AbstractOIDCAuthentication <- R6Class(
404405
oauth_client = NULL,
405406
force_use=NULL,
406407
isJwt = FALSE,
408+
authorization_parameters = list(), # additional parameters for the authorization endpoint
407409

408410
auth = NULL, # httr2 oauth2.0 token object
409411

@@ -470,7 +472,8 @@ OIDCDeviceCodeFlow <- R6Class(
470472
oauth_flow_device(
471473
client = private$oauth_client,
472474
auth_url = private$endpoints$device_authorization_endpoint,
473-
scope = paste0(private$scopes, collapse = " ")
475+
scope = paste0(private$scopes, collapse = " "),
476+
auth_params = private$authorization_parameters
474477
),
475478
value = private$isInteractive()
476479
)
@@ -506,7 +509,8 @@ OIDCDeviceCodeFlowPkce <- R6Class(
506509
client = private$oauth_client,
507510
auth_url = private$endpoints$device_authorization_endpoint,
508511
scope = paste0(private$scopes, collapse = " "),
509-
pkce = TRUE
512+
pkce = TRUE,
513+
auth_params = private$authorization_parameters
510514
),
511515
value = private$isInteractive()
512516
)
@@ -544,7 +548,8 @@ OIDCAuthCodeFlowPKCE <- R6Class(
544548
client = private$oauth_client,
545549
auth_url = private$endpoints$authorization_endpoint,
546550
scope = paste0(private$scopes, collapse = " "),
547-
pkce = TRUE
551+
pkce = TRUE,
552+
auth_params = private$authorization_parameters
548553
),
549554
value = private$isInteractive()
550555
)
@@ -583,7 +588,8 @@ OIDCAuthCodeFlow <- R6Class(
583588
client = private$oauth_client,
584589
auth_url = private$endpoints$authorization_endpoint,
585590
scope = paste0(private$scopes, collapse = " "),
586-
pkce = FALSE
591+
pkce = FALSE,
592+
auth_params = private$authorization_parameters
587593
),
588594
value = private$isInteractive()
589595
)

0 commit comments

Comments
 (0)