diff --git a/src/UnicaenAuth/Controller/AuthController.php b/src/UnicaenAuth/Controller/AuthController.php
index d3b468c39e9fc06686bdbd0a30023854a27e1124..0bec8234c32653ee12f23b86a2e74547828658be 100644
--- a/src/UnicaenAuth/Controller/AuthController.php
+++ b/src/UnicaenAuth/Controller/AuthController.php
@@ -54,7 +54,7 @@ class AuthController extends AbstractActionController
         /** @var AuthenticationService $authService */
         $authService = $this->getServiceLocator()->get('zfcuser_auth_service');
         try {
-            $authService->getStorage()->write($shibUser->getId());
+            $authService->getStorage()->write($shibUser->getUsername());
         } catch (ExceptionInterface $e) {
             throw new RuntimeException("Impossible d'écrire dans le storage");
         }
diff --git a/src/UnicaenAuth/Entity/Shibboleth/ShibUser.php b/src/UnicaenAuth/Entity/Shibboleth/ShibUser.php
index 82c4114695736d22317fa3a2ca7c94449869e324..b0c785c2534ceb782d6c79b8b1285a02a7973bfb 100644
--- a/src/UnicaenAuth/Entity/Shibboleth/ShibUser.php
+++ b/src/UnicaenAuth/Entity/Shibboleth/ShibUser.php
@@ -156,7 +156,7 @@ class ShibUser implements UserInterface
      */
     public function getPrenom()
     {
-        return $this->givenName;
+        return $this->prenom;
     }
 
     /**
@@ -168,7 +168,7 @@ class ShibUser implements UserInterface
     }
 
     /**
-     * @return string
+     * @return string|null
      */
     public function getCivilite()
     {
@@ -176,9 +176,9 @@ class ShibUser implements UserInterface
     }
 
     /**
-     * @param string $civilite
+     * @param string|null $civilite
      */
-    public function setCivilite($civilite)
+    public function setCivilite($civilite = null)
     {
         $this->civilite = $civilite;
     }
diff --git a/src/UnicaenAuth/Service/ShibService.php b/src/UnicaenAuth/Service/ShibService.php
index 902e3f55c0eb97eb5fc52843e8040f68b164762f..d473dbf667ae405835a9320d2a6f37715d50277a 100644
--- a/src/UnicaenAuth/Service/ShibService.php
+++ b/src/UnicaenAuth/Service/ShibService.php
@@ -81,7 +81,7 @@ EOS;
         } elseif (isset($_SERVER['supannEmpId'])) {
             $id = $_SERVER['supannEmpId'];
         } else {
-            throw new RuntimeException('Un au moins des attributs suivants doivent exister dans $_SERVER : supannEtuId, supannEmpId.');
+            throw new RuntimeException('Un au moins des attributs suivants doit exister dans $_SERVER : supannEtuId, supannEmpId.');
         }
 
         $mail = null;
@@ -94,11 +94,34 @@ EOS;
             $displayName = $_SERVER['displayName'];
         }
 
+        $surname = null;
+        if (isset($_SERVER['sn'])) {
+            $surname = $_SERVER['sn'];
+        } elseif (isset($_SERVER['surname'])) {
+            $surname = $_SERVER['surname'];
+        }
+
+        $givenName = null;
+        if (isset($_SERVER['givenName'])) {
+            $givenName = $_SERVER['givenName'];
+        }
+
+        $civilite = null;
+        if (isset($_SERVER['supannCivilite'])) {
+            $civilite = $_SERVER['supannCivilite'];
+        }
+
         $shibUser = new ShibUser();
+        // propriétés de UserInterface
         $shibUser->setId($id);
         $shibUser->setUsername($eppn);
         $shibUser->setDisplayName($displayName);
         $shibUser->setEmail($mail);
+        $shibUser->setPassword(null);
+        // autres propriétés
+        $shibUser->setNom($surname);
+        $shibUser->setPrenom($givenName);
+        $shibUser->setCivilite($civilite);
 
         return $shibUser;
     }