fix oidc groups.claim undefined

Signed-off-by: si458 <simonsmith5521@gmail.com>

si458 committed May 17, 2024 at 20:01 UTC 1c8d664962798150aa2129ea51f9c24ed61426a0
1 file changed +12 -12
webserver.js
+12 -12
@@ -7469,19 +7469,19 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
7469 function oidcCallback(tokenset, profile, verified) {
7470 // Initialize user object
7471 let user = { 'strategy': 'oidc' }
7472 - let claims = obj.common.validateObject(strategy.custom.claims) ? strategy.custom.claims : null
7473 - user.sid = obj.common.validateString(profile.sub) ? '~oidc:' + profile.sub : null
7474 - user.name = obj.common.validateString(profile.name) ? profile.name : null
7475 - user.email = obj.common.validateString(profile.email) ? profile.email : null
7472 + let claims = obj.common.validateObject(strategy.custom.claims) ? strategy.custom.claims : null;
7473 + user.sid = obj.common.validateString(profile.sub) ? '~oidc:' + profile.sub : null;
7474 + user.name = obj.common.validateString(profile.name) ? profile.name : null;
7475 + user.email = obj.common.validateString(profile.email) ? profile.email : null;
7476 if (claims != null) {
7477 - user.sid = obj.common.validateString(profile[claims.uuid]) ? '~oidc:' + profile[claims.uuid] : user.sid
7478 - user.name = obj.common.validateString(profile[claims.name]) ? profile[claims.name] : user.name
7479 - user.email = obj.common.validateString(profile[claims.email]) ? profile[claims.email] : user.email
7480 - }
7481 - user.emailVerified = profile.email_verified ? profile.email_verified : obj.common.validateEmail(user.email),
7482 - user.groups = obj.common.validateStrArray(profile.groups, 1) ? profile.groups : null
7483 - user.preset = obj.common.validateString(strategy.custom.preset) ? strategy.custom.preset : null
7484 - if (obj.common.validateString(strategy.groups.claim)) {
7477 + user.sid = obj.common.validateString(profile[claims.uuid]) ? '~oidc:' + profile[claims.uuid] : user.sid;
7478 + user.name = obj.common.validateString(profile[claims.name]) ? profile[claims.name] : user.name;
7479 + user.email = obj.common.validateString(profile[claims.email]) ? profile[claims.email] : user.email;
7480 + }
7481 + user.emailVerified = profile.email_verified ? profile.email_verified : obj.common.validateEmail(user.email);
7482 + user.groups = obj.common.validateStrArray(profile.groups, 1) ? profile.groups : null;
7483 + user.preset = obj.common.validateString(strategy.custom.preset) ? strategy.custom.preset : null;
7484 + if (strategy.groups && obj.common.validateString(strategy.groups.claim)) {
7485 user.groups = obj.common.validateStrArray(profile[strategy.groups.claim], 1) ? profile[strategy.groups.claim] : null
7486 }
7487