diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java
index addb1853e6bf8cc48b6759464963583e119f1da4..0b1ff5c70503cc0c3206d786259bfcec3432b59f 100644
--- a/src/main/java/org/hbp/mip/MIPApplication.java
+++ b/src/main/java/org/hbp/mip/MIPApplication.java
@@ -75,33 +75,9 @@ public class MIPApplication extends WebSecurityConfigurerAdapter {
     @RequestMapping("/user")
     @ResponseBody
     public Principal user(Principal principal) {
-        OAuth2Authentication oAuth2Authentication = (OAuth2Authentication) SecurityContextHolder.getContext().getAuthentication();
-        Authentication userAuthentication = oAuth2Authentication.getUserAuthentication();
-        System.out.println("##############################");
-        System.out.println(userAuthentication.getDetails());
-        System.out.println("##############################");
-
         return principal;
     }
 
-    private User principalToUser(Principal principal) {
-        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
-        session.beginTransaction();
-        org.hibernate.Query query = session.createQuery("from User where username= :username");
-        query.setString("username", principal.getName());
-        User user = (User) query.uniqueResult();
-        session.getTransaction().commit();
-        if(user == null)
-        {
-            session = HibernateUtil.getSessionFactory().getCurrentSession();
-            session.beginTransaction();
-            user = new User(principal);
-            session.save(user);
-            session.getTransaction().commit();
-        }
-        return user;
-    }
-
     @RequestMapping(value = "/articles", method = RequestMethod.GET)
     @ResponseBody
     public List<Article> getArticles() {
@@ -161,7 +137,7 @@ public class MIPApplication extends WebSecurityConfigurerAdapter {
     @RequestMapping(value = "/articles", method = RequestMethod.POST)
     @ResponseBody
     public Article postArticle(@RequestBody Article article, Principal principal) {
-        User user = principalToUser(principal);
+        User user = getUser(principal);
         Session session = HibernateUtil.getSessionFactory().getCurrentSession();
         session.beginTransaction();
         article.setCreatedAt(new Date());
@@ -327,4 +303,29 @@ public class MIPApplication extends WebSecurityConfigurerAdapter {
         return repository;
     }
 
+    private String getUserInfos() {
+        OAuth2Authentication oAuth2Authentication = (OAuth2Authentication) SecurityContextHolder.getContext().getAuthentication();
+        Authentication userAuthentication = oAuth2Authentication.getUserAuthentication();
+        System.out.println(userAuthentication.getDetails().toString());
+        return userAuthentication.getDetails().toString();
+    }
+
+    private User getUser(Principal principal) {
+        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
+        session.beginTransaction();
+        org.hibernate.Query query = session.createQuery("from User where username= :username");
+        query.setString("username", principal.getName());
+        User user = (User) query.uniqueResult();
+        session.getTransaction().commit();
+        if(user == null)
+        {
+            session = HibernateUtil.getSessionFactory().getCurrentSession();
+            session.beginTransaction();
+            user = new User(getUserInfos());
+            session.save(user);
+            session.getTransaction().commit();
+        }
+        return user;
+    }
+
 }
diff --git a/src/main/java/org/hbp/mip/model/User.java b/src/main/java/org/hbp/mip/model/User.java
index 5e3290a73ada547b40e8c577d7ca39110092857d..caf859ff5e5835f57efefc3761f0a3215a3bf53a 100644
--- a/src/main/java/org/hbp/mip/model/User.java
+++ b/src/main/java/org/hbp/mip/model/User.java
@@ -5,9 +5,10 @@
 package org.hbp.mip.model;
 
 import javax.persistence.*;
-import java.security.Principal;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 @Entity
 @Table(name = "user_mip")
@@ -39,10 +40,39 @@ public class User {
     public User() {
     }
 
-    public User(Principal principal)
+    public User(String userInfo)
     {
-        this.username = principal.getName();
-        this.fullname = this.username;
+        Pattern p;
+        Matcher m;
+
+        p = Pattern.compile("username=([\\w ]+)");
+        m = p.matcher(userInfo);
+        if (m.find()) {
+            System.out.println(m.group(1));
+            this.username = m.group(1);
+        }
+
+        p = Pattern.compile("displayName=([\\w ]+)");
+        m = p.matcher(userInfo);
+        if (m.find()) {
+            System.out.println(m.group(1));
+            this.fullname = m.group(1);
+        }
+
+        p = Pattern.compile("givenName=([\\w ]+)");
+        m = p.matcher(userInfo);
+        if (m.find()) {
+            System.out.println(m.group(1));
+            this.firstname = m.group(1);
+        }
+
+        p = Pattern.compile("familyName=([\\w ]+)");
+        m = p.matcher(userInfo);
+        if (m.find()) {
+            System.out.println(m.group(1));
+            this.lastname = m.group(1);
+        }
+
     }
 
     public Long getId() {