Source
206
206
'session_index' => $auth->getSessionIndex(),
207
207
'provisioned_user' => []
208
208
];
209
209
210
210
if ($provisioning_enabled) {
211
211
$user = $provisioning->getUserAttributes($user_attributes);
212
212
$user['medias'] = $provisioning->getUserMedias($user_attributes);
213
213
$idp_groups = [];
214
214
215
215
if (array_key_exists($groups_key, $user_attributes) && is_array($user_attributes[$groups_key])) {
216
-
$idp_groups = $user_attributes[$groups_key];
216
+
$idp_groups = (count($user_attributes[$groups_key]) > 1)
217
+
? $user_attributes[$groups_key]
218
+
: explode(';', $user_attributes[$groups_key][0]);
217
219
}
218
220
219
221
$user += $provisioning->getUserGroupsAndRole($idp_groups);
220
222
$saml_data['idp_groups'] = $idp_groups;
221
223
$saml_data['provisioned_user'] = $user;
222
224
}
223
225
224
226
$saml_data['sign'] = CEncryptHelper::sign(json_encode($saml_data));
225
227
226
228
CSessionHelper::set('saml_data', $saml_data);