Fix for azure groups and roles sync
Marcin committed
Apr 22, 2026 at 18:02 UTC
6a1b5745dd1bfbb9e2890c9e05f1590b14f4bbff
1 file changed
+13
-13
webserver.js
+13
-13
@@ -8501,26 +8501,26 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
8501
if((Array.isArray(strategy.custom.authorities) && strategy.custom.authorities.filter(x => x.trim().length > 0).length > 0) == false || strategy.custom.authorities.includes('groups')) {
8502
getGroups(user.preset, tokenset).then((groups) => {
8503
user = Object.assign(user, { 'groups': groups });
8504
- //done(null, user);
8504
+
8505
+ if(strategy.custom.authorities.includes('roles')){
8506
+ if(user.roles){
8507
+ if(!strategy.custom.authorities.includes('groups')){
8508
+ user.groups = user.roles;
8509
+ } else {
8510
+ user.groups = (user.groups || []).concat(user.roles);
8511
+ }
8512
+ }
8513
+ }
8514
+ parent.authLog('oidcCallback',`OIDC: USER GROUPS/ROLES: ${JSON.stringify(user)}`);
8515
+ done(null, user);
8516
}).catch((err) => {
8517
let error = new Error('OIDC: GROUPS: No groups found due to error:', { cause: err });
8518
parent.debug('error', `${JSON.stringify(error)}`);
8519
parent.authLog('oidcCallback', error.message);
8520
user.groups = [];
8510
- //done(null, user);
8521
+ done(null, user);
8522
});
8523
}
8513
- if(strategy.custom.authorities.includes('roles')){
8514
- if(user.roles){
8515
- if(!strategy.custom.authorities.includes('groups')){
8516
- user.groups = user.roles;
8517
- } else {
8518
- user.groups = (user.groups || []).concat(user.roles);
8519
- }
8520
- }
8521
- }
8522
- parent.authLog('OIDC: USER GROUPS/ROLES:', user);
8523
- done(null, user);
8524
} else {
8525
done(null, user);
8526
}