diff --git a/modules/quanthub_core/src/EventSubscriber/OidcEventsSubscriber.php b/modules/quanthub_core/src/EventSubscriber/OidcEventsSubscriber.php index c654494..1379114 100644 --- a/modules/quanthub_core/src/EventSubscriber/OidcEventsSubscriber.php +++ b/modules/quanthub_core/src/EventSubscriber/OidcEventsSubscriber.php @@ -89,7 +89,8 @@ public function onLogin(ExternalAuthLoginEvent $event) { } // Check do we need an update. - if (array_diff($roles, $account->getRoles())) { + $current_roles = $account->getRoles(TRUE); + if (array_diff($roles, $current_roles) || array_diff($current_roles, $roles)) { $account->set('roles', array_unique($roles))->save(); } }