|
|
@@ -40,7 +40,10 @@ class KeycloakAuthenticator extends AbstractAuthenticator
|
|
|
$accessToken = $client->getAccessToken();
|
|
|
$keycloakUser = $client->fetchUserFromToken($accessToken);
|
|
|
$data = $keycloakUser->toArray();
|
|
|
- $email = $data['email'] ?? null;
|
|
|
+ if ($_ENV['KEYCLOAK_DEBUG'] == 1) {
|
|
|
+ dump($data);
|
|
|
+ }
|
|
|
+ $email = $data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_EMAIL']] ?? null;
|
|
|
|
|
|
return new SelfValidatingPassport(
|
|
|
new UserBadge($email, function($email) use ($data) {
|
|
|
@@ -49,9 +52,9 @@ class KeycloakAuthenticator extends AbstractAuthenticator
|
|
|
if (!$user) {
|
|
|
$user = new User();
|
|
|
$user->setEmail($email);
|
|
|
- $user->setFirstName($data['given_name'] ?? '');
|
|
|
- $user->setLastName($data['family_name'] ?? '');
|
|
|
- $user->setPhone($data['phone_number'] ?? '');
|
|
|
+ $user->setFirstName($data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_FIRSTNAME']] ?? '');
|
|
|
+ $user->setLastName($data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_LASTNAME']] ?? '');
|
|
|
+ $user->setPhone($data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_PHONE']] ?? '');
|
|
|
$user->setRoles(['ROLE_USER']);
|
|
|
$user->setIsVerified(true);
|
|
|
$user->setPassword(
|
|
|
@@ -62,9 +65,9 @@ class KeycloakAuthenticator extends AbstractAuthenticator
|
|
|
// Il vient de KC, donc, l'email est fiabilisé
|
|
|
$user->setIsVerified(true);
|
|
|
// Mise à jour du numéro de téléphone s'il est renseigné dans KC
|
|
|
- $user->setPhone($data['phone_number'] ?? $user->getPhone());
|
|
|
- $user->setFirstName($data['given_name'] ?? $user->getFirstName());
|
|
|
- $user->setLastName($data['family_name'] ?? $user->getLastName());
|
|
|
+ $user->setPhone($data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_PHONE']] ?? $user->getPhone());
|
|
|
+ $user->setFirstName($data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_FIRSTNAME']] ?? $user->getFirstName());
|
|
|
+ $user->setLastName($data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_LASTNAME']] ?? $user->getLastName());
|
|
|
}
|
|
|
|
|
|
// Mise à jour des rôle et du profil GM
|
|
|
@@ -82,9 +85,9 @@ class KeycloakAuthenticator extends AbstractAuthenticator
|
|
|
$gamemaster = new Gamemaster();
|
|
|
$gamemaster->setFirstName($user->getFirstName());
|
|
|
$gamemaster->setLastName($user->getLastName());
|
|
|
- $gamemaster->setPreferedName($data['nickname']);
|
|
|
+ $gamemaster->setPreferedName($data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_NICKNAME']]);
|
|
|
$slugger = new AsciiSlugger('fr_FR');
|
|
|
- $slug = $slugger->slug(strtolower($data['nickname']));
|
|
|
+ $slug = $slugger->slug(strtolower($data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_NICKNAME']]));
|
|
|
$gamemaster->setSlug($slug);
|
|
|
$gamemaster->setEmail($user->getEmail());
|
|
|
$phone = $user->getPhone();
|
|
|
@@ -96,9 +99,9 @@ class KeycloakAuthenticator extends AbstractAuthenticator
|
|
|
$gamemaster = $user->getLinkToGamemaster();
|
|
|
$gamemaster->setFirstName($user->getFirstName());
|
|
|
$gamemaster->setLastName($user->getLastName());
|
|
|
- $gamemaster->setPreferedName($data['nickname']);
|
|
|
+ $gamemaster->setPreferedName($data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_NICKNAME']]);
|
|
|
$slugger = new AsciiSlugger('fr_FR');
|
|
|
- $slug = $slugger->slug(strtolower($data['nickname']));
|
|
|
+ $slug = $slugger->slug(strtolower($data[$_ENV['KEYCLOAK_USER_ATTRIBUTE_NICKNAME']]));
|
|
|
$gamemaster->setSlug($slug);
|
|
|
$gamemaster->setEmail($user->getEmail());
|
|
|
$phone = $user->getPhone();
|