Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function register() {
- $json = \Drupal::request()->getContent();
- $json_data = json_decode($json,true);
- $name = $json_data['name'];
- $mail = $json_data['mail'];
- $pass = $json_data['pass'];
- $language = \Drupal::languageManager()->getCurrentLanguage()->getId();
- $user = \Drupal\user\Entity\User::create();
- //Mandatory settings
- $user->setPassword($pass);
- $user->enforceIsNew();
- $user->setEmail($mail);
- $user->setUsername($name);//This username must be unique and accept only a-Z,0-9, - _ @ .
- //Optional settings
- $user->set("init", $pass);
- // $user->set("langcode", $language);
- // $user->set("preferred_langcode", $language);
- // $user->set("preferred_admin_langcode", $language);
- //$user->set("setting_name", 'setting_value');
- $user->activate();
- //Save user
- $res = $user->save();
- if($res == 1 || $res == 2){
- $uid = \Drupal::service('user.auth')->authenticate($name, $pass);
- if(!$uid){
- return new JsonResponse( array( 'error' => "invalid username or password"), 400);
- }
- $session_manager = \Drupal::service('session_manager');
- $session_id = $session_manager->getId();
- return new JsonResponse( array( 'uid' => $uid, 'name' => $json_data['name'], 'session_id' => $session_id ) );
- }
- else{
- return new JsonResponse( array( 'error' => "invalid username or password"), 400);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement