From 6454a54704578309a44a0a2b437a5ee3ab97436c Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Fri, 6 Aug 2021 13:57:43 +0200 Subject: [PATCH] allow to configure acr values --- src/lib.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index aead3d74..e9fbd940 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -36,6 +36,7 @@ use openidconnect::{ Scope, UserInfoClaims, AdditionalClaims, + AuthenticationContextClass, }; /// Stores Additional Claims into a serde_json::Value; @@ -55,6 +56,8 @@ pub struct OpenIdConfig { pub scopes: Option>, #[serde(skip_serializing_if="Option::is_none")] pub prompt: Option, + #[serde(skip_serializing_if="Option::is_none")] + pub acr_values: Option>, } pub struct OpenIdAuthenticator { @@ -175,6 +178,12 @@ impl OpenIdAuthenticator { } } + if let Some(ref acr_values) = self.config.acr_values { + for acr in acr_values.clone() { + request = request.add_auth_context_value(AuthenticationContextClass::new(acr)); + } + } + let (authorize_url, _csrf_state, _nonce) = request.url(); Ok(authorize_url.to_string())