From 452e2e2408e5c07b5e5a689c9bcbb9d37c728ef7 Mon Sep 17 00:00:00 2001 From: Tobias Wolf Date: Sun, 16 Jul 2023 23:13:41 +0200 Subject: [PATCH] Fix "PROPAGATE_OIDC_DATA" mechanism if "info.groups" is undefined This may happen if no group information is shared via OAuth2/OIDC but synchronization of user data is intended by WeKan administration. Without the patch the following exception is raised: Error in OAuth Server: groups is not iterable --- packages/wekan-oidc/oidc_server.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/wekan-oidc/oidc_server.js b/packages/wekan-oidc/oidc_server.js index 59012d3aa..4d1adbb04 100644 --- a/packages/wekan-oidc/oidc_server.js +++ b/packages/wekan-oidc/oidc_server.js @@ -287,15 +287,16 @@ Meteor.methods({ check(info, Object); check(userId, String); var propagateOidcData = process.env.PROPAGATE_OIDC_DATA || false; - if (propagateOidcData) - { + if (propagateOidcData) { users= Meteor.users; user = users.findOne({'services.oidc.id': userId}); - if(user) - { - //updates/creates Groups and user admin privileges accordingly - addGroupsWithAttributes(user, info.groups); + if(user) { + //updates/creates Groups and user admin privileges accordingly if not undefined + if (info.groups) { + addGroupsWithAttributes(user, info.groups); + } + if(info.email) addEmail(user, info.email); if(info.fullname) changeFullname(user, info.fullname); if(info.username) changeUsername(user, info.username);