Advertisement
Guest User

Untitled

a guest
Aug 11th, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. public function register() {
  2. $json = \Drupal::request()->getContent();
  3. $json_data = json_decode($json,true);
  4.  
  5. $name = $json_data['name'];
  6. $mail = $json_data['mail'];
  7. $pass = $json_data['pass'];
  8.  
  9. $language = \Drupal::languageManager()->getCurrentLanguage()->getId();
  10.  
  11. $user = \Drupal\user\Entity\User::create();
  12.  
  13. //Mandatory settings
  14. $user->setPassword($pass);
  15. $user->enforceIsNew();
  16. $user->setEmail($mail);
  17. $user->setUsername($name);//This username must be unique and accept only a-Z,0-9, - _ @ .
  18.  
  19. //Optional settings
  20. $user->set("init", $pass);
  21. // $user->set("langcode", $language);
  22. // $user->set("preferred_langcode", $language);
  23. // $user->set("preferred_admin_langcode", $language);
  24. //$user->set("setting_name", 'setting_value');
  25. $user->activate();
  26.  
  27. //Save user
  28. $res = $user->save();
  29.  
  30. if($res == 1 || $res == 2){
  31. $uid = \Drupal::service('user.auth')->authenticate($name, $pass);
  32. if(!$uid){
  33. return new JsonResponse( array( 'error' => "invalid username or password"), 400);
  34. }
  35.  
  36. $session_manager = \Drupal::service('session_manager');
  37. $session_id = $session_manager->getId();
  38. return new JsonResponse( array( 'uid' => $uid, 'name' => $json_data['name'], 'session_id' => $session_id ) );
  39. }
  40. else{
  41. return new JsonResponse( array( 'error' => "invalid username or password"), 400);
  42. }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement