/** * @param User $user * @return array */ private function prepareFields(User $user) { // Prepare data $data = array(); // Email if ($email = $user->getEmail()) { $data['u_email'] = $email; } // Password if ($password = $user->getPassword()) { $data['u_password'] = password_hash($password, PASSWORD_DEFAULT); } else { if ($hash = $user->getPasswordHash()) { $data['u_password'] = $hash; } } // Username if ($username = $user->getUsername()) { $data['u_username'] = $username; } if ($sub = $user->getSub()) { $data['u_sub'] = $user->getSub(); } if ($accessToken = $user->getAccessToken()) { $data['u_last_access_token'] = $accessToken; } return $data; }
/** * Login a specific user * @param Request $request * @param User $user * @return \Neuron\Net\Response */ public function login(Request $request, User $user) { $request->getSession()->set('catlab-user-id', $user->getId()); $request->getSession()->set('catlab-openid-access-token', $user->getAccessToken()); $this->trigger('user:login', $user); return $this->postLogin($request, $user); }