From c0c889b7fbabae03551f1f0c655c9c7aab623ae6 Mon Sep 17 00:00:00 2001 From: Maurus Decimus <11444311+mdecimus@users.noreply.github.com> Date: Tue, 28 Apr 2026 14:59:55 +0200 Subject: [PATCH] OIDC: Fallback to `userinfo` endpoint when JWT token does not contain an email claim. --- CHANGELOG.md | 1 + crates/directory/src/backend/oidc/lookup.rs | 20 ++++-- resources/schema/schema.json.gz | Bin 138982 -> 138964 bytes resources/schema/schema.json.sha256 | 2 +- tests/docker/keycloak/stalwart-realm.json | 65 ++++++++++++++++++ tests/src/directory/oidc.rs | 72 +++++++++++++++++++- 6 files changed, 152 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b21f162..adee0a32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file. This projec If you are upgrading from v0.16.x, replace the binary (or run `docker pull`). If you are upgrading from v0.15.x and below, please read the [upgrading documentation](https://github.com/stalwartlabs/stalwart/blob/main/UPGRADING/v0_16.md) for more information on how to upgrade from previous versions. ## Added +- OIDC: Fallback to `userinfo` endpoint when JWT token does not contain an email claim. - S3: `verifyAfterWrite` option to verify that objects have persisted after writing. ## Changed diff --git a/crates/directory/src/backend/oidc/lookup.rs b/crates/directory/src/backend/oidc/lookup.rs index 30b90954..6d3b90ca 100644 --- a/crates/directory/src/backend/oidc/lookup.rs +++ b/crates/directory/src/backend/oidc/lookup.rs @@ -76,7 +76,15 @@ impl OpenIdDirectory { } self.validate_scopes(&token_data.claims)?; - return self.build_account(&token_data.claims); + + let (email, claims) = if let Ok(email) = self.resolve_email(&token_data.claims) + { + (email, token_data.claims) + } else { + let claims = self.fetch_userinfo(token).await?; + (self.resolve_email(&claims)?, claims) + }; + return self.build_account(email, &claims); } Err(e) => { last_err = Some(e); @@ -92,7 +100,7 @@ impl OpenIdDirectory { async fn authenticate_opaque(&self, token: &str) -> Result { let claims = self.fetch_userinfo(token).await?; - self.build_account(&claims) + self.build_account(self.resolve_email(&claims)?, &claims) } async fn get_key(&self, kid: Option<&str>) -> Result>, OidcError> { @@ -190,9 +198,13 @@ impl OpenIdDirectory { Ok(()) } - fn build_account(&self, claims: &serde_json::Value) -> Result { + fn build_account( + &self, + email: String, + claims: &serde_json::Value, + ) -> Result { Ok(Account { - email: self.resolve_email(claims)?, + email, email_aliases: Vec::new(), secret: None, groups: self diff --git a/resources/schema/schema.json.gz b/resources/schema/schema.json.gz index 70b685bb9cb03a0b63adf75d467bf598ac3cd546..fc2d25215a57524e0786b03e40766f6d9955ec44 100644 GIT binary patch delta 62663 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 TJJRE5CQ^(g1 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 diff --git a/resources/schema/schema.json.sha256 b/resources/schema/schema.json.sha256 index 2475ff30..67ec3b07 100644 --- a/resources/schema/schema.json.sha256 +++ b/resources/schema/schema.json.sha256 @@ -1 +1 @@ -QRJ4vibPf1dYpzaA4YziIqMnAMR1UOHVUErrjOyjDeE \ No newline at end of file +BzNqAzrQXuc-FYcvnkey9hBXkjMDd9HrgWlyb4S9I7E \ No newline at end of file diff --git a/tests/docker/keycloak/stalwart-realm.json b/tests/docker/keycloak/stalwart-realm.json index d56d712a..e61a46bb 100644 --- a/tests/docker/keycloak/stalwart-realm.json +++ b/tests/docker/keycloak/stalwart-realm.json @@ -68,6 +68,71 @@ } } ] + }, + { + "clientId": "stalwart-fallback", + "enabled": true, + "clientAuthenticatorType": "client-secret", + "secret": "stalwart-fallback-secret", + "redirectUris": [ + "*" + ], + "webOrigins": [ + "*" + ], + "publicClient": false, + "protocol": "openid-connect", + "directAccessGrantsEnabled": true, + "standardFlowEnabled": true, + "serviceAccountsEnabled": true, + "defaultClientScopes": [ + "openid" + ], + "optionalClientScopes": [ + "email", + "profile", + "roles" + ], + "protocolMappers": [ + { + "name": "email-claim-userinfo-only", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-attribute-mapper", + "consentRequired": false, + "config": { + "user.attribute": "email", + "id.token.claim": "false", + "access.token.claim": "false", + "claim.name": "email", + "userinfo.token.claim": "true", + "jsonType.label": "String" + } + }, + { + "name": "groups-userinfo-only", + "protocol": "openid-connect", + "protocolMapper": "oidc-group-membership-mapper", + "consentRequired": false, + "config": { + "full.path": "false", + "id.token.claim": "false", + "access.token.claim": "false", + "claim.name": "groups", + "userinfo.token.claim": "true" + } + }, + { + "name": "audience", + "protocol": "openid-connect", + "protocolMapper": "oidc-audience-mapper", + "consentRequired": false, + "config": { + "included.client.audience": "stalwart", + "id.token.claim": "false", + "access.token.claim": "true" + } + } + ] } ], "users": [ diff --git a/tests/src/directory/oidc.rs b/tests/src/directory/oidc.rs index 48d2a5e9..8a4175c1 100644 --- a/tests/src/directory/oidc.rs +++ b/tests/src/directory/oidc.rs @@ -70,6 +70,55 @@ pub async fn test() { } ); + // Test ODIC userinfo fallback + let mut config_userinfo_fallback = config.clone(); + config_userinfo_fallback.claim_username = "email".to_string(); + config_userinfo_fallback.require_scopes = Map::new(vec!["openid".to_string()]); + + let token_openid_only = get_token_for_client( + "stalwart-fallback", + "stalwart-fallback-secret", + "john.doe@example.org", + "this is an OIDC password", + "openid", + ) + .await; + + let mut oidc_broken_userinfo = OpenIdDirectory::open(config_userinfo_fallback.clone()) + .await + .unwrap(); + if let Directory::OpenId(directory) = &mut oidc_broken_userinfo { + directory.discovery.document.userinfo_endpoint = "http://invalid".to_string(); + } + assert!( + oidc_broken_userinfo + .authenticate(&Credentials::Bearer { + username: None, + token: token_openid_only.clone(), + }) + .await + .is_err() + ); + let oidc_userinfo_fallback = OpenIdDirectory::open(config_userinfo_fallback) + .await + .unwrap(); + assert_eq!( + oidc_userinfo_fallback + .authenticate(&Credentials::Bearer { + username: None, + token: token_openid_only, + }) + .await + .unwrap(), + Account { + email: "john.doe@example.org".to_string(), + email_aliases: vec![], + secret: None, + groups: vec!["sales@example.org".to_string()], + description: None, + } + ); + // Not matching the required audience should fail let mut config_wrong_audience = config.clone(); config_wrong_audience.require_audience = Some("wrong_audience".to_string()); @@ -115,17 +164,34 @@ pub async fn test() { } async fn get_token(username: &str, password: &str) -> String { + get_token_for_client( + "stalwart", + "stalwart-secret", + username, + password, + "openid email profile", + ) + .await +} + +async fn get_token_for_client( + client_id: &str, + client_secret: &str, + username: &str, + password: &str, + scope: &str, +) -> String { let client = reqwest::Client::new(); let response = client .post("http://localhost:9080/realms/stalwart/protocol/openid-connect/token") .form(&[ ("grant_type", "password"), - ("client_id", "stalwart"), - ("client_secret", "stalwart-secret"), + ("client_id", client_id), + ("client_secret", client_secret), ("username", username), ("password", password), - ("scope", "openid email profile"), + ("scope", scope), ]) .send() .await