Welcome Guest, Not a member yet? Register   Sign In
Vue not set the session on Codeigniter
#1

Hi! I use CI 4.5.3 with Vue 3. I have Vue installed in localhost under http and CI on my server under https.
When i try to set a session for login from Vue something go wrong and the session is not setting correctly. The data of user are not in the session.
When i try to set session directly from CI all work perfectly.
I haven't errors from vue neither CI.
Any idea for help me?
My CI login:
PHP Code:
    public function login()
    {
        $request service('request');

        if ($request->isAJAX()) {

            $rules = [
                'email' => [
                    'label' => 'E-mail',
                    'rules' => 'required|max_length[254]|valid_email',
                ],
                'password' => [
                    'label' => 'Password',
                    'rules' => 'required',
                ],
            ];

            if (! $this->validate($rules)) {
                return $this->fail($this->validator->getErrors());
            }

            $model = new UserModel();
            $user $model->where('email'$this->request->getPost('email'))->first();

            if (!$user || !password_verify($this->request->getPost('password'), $user['password'])) {
                return $this->failUnauthorized('Invalid email and/or password.');
            }
            else {
                $session service('session');
                
                $sessionData 
= [
                    'id' => $user['id'],
                    'name' => $user['name'],
                    'surname' => $user['surname'],
                    'gender' => $user['gender'],
                    'email' => $user['email'],
                    'isLoggedIn' => TRUE
                
];

                log_message('debug''Initial session status: ' json_encode($session->get()));
                $session->set($sessionData);
                log_message('debug''Session status after set: ' json_encode($session->get()));

                if ($session->get('isLoggedIn')) {
                    return $this->respond([
                        'message' => 'Hi ' $user['name'], 
                        'success' => true,
                        'userdata' => [ 
                            'id' => $user['id'],
                            'name' => $user['name'],
                            'surname' => $user['surname'],
                            'gender' => $user['gender'],
                            'email' => $user['email'],
                        ]
                    ]);
                }
                else
                {
                    return $this->failUnauthorized('Session not setting');
                }
            }
        
        else 
        {
        return $this->failUnauthorized('Error AJAX.'); 
    }
 } 
Reply
#2

Its A Good Information provided that could be a reason for goodthong
Reply




Theme © iAndrew 2016 - Forum software by © MyBB