Welcome Guest, Not a member yet? Register   Sign In
cookie not working in libraries
#1

(This post was last modified: 05-02-2020, 03:24 PM by Chivinsdev.)

Please what is wrong with this code? the cookie area is not working at all

PHP Code:
<?php
    
    
namespace App\Libraries;

use 
App\Models\Remember;
use 
App\Models\User;
use 
Config\Services;

class 
Auth
    
{
        protected 
$encrypter;
        protected 
$user_model;
        protected 
$remember;

        function 
__construct()
        {
            \
helper('cookie');
            
$this->encrypter Services::encrypter();
            
$this->user_model = new User();
            
$this->remember     = new Remember();
        }


        public function 
login($username_email null$password null$remember_me false)
        {
            if (
is_null($username_email) || is_null($password)) 
            {
                
$this->alert->error('Please enter your credentials in the field provided');
                return 
false;
            }

            
$user $this->user_model->where('email'$username_email)->first();

            if (!
is_null($user) && $this->verifyPassword($password$user->password)) {
                
                
$save_user_data $user->id;
                if (
$encrypt_data $save_user_data) {
                    
                    if (
$remember_me) {
                        
                        
$data = [
                            
'expires'         => strtotime(getConfig('remember_me_expires')),
                            
'persistence'     => $encrypt_data,
                            
'selector'        => $this->generateToken()
                        ];
                        return 
$this->setRememberMe($data);
                    }
                    
session()->set(['ses_id' => $encrypt_data'loggedIn' => true]);
                    return \
true;
                }
                
                return \
false;
            }
            
            return 
false;
        }

        public function 
verifyPassword($pass null$hashed_pass null)
        {
            return 
password_verify(
                
base64_encode(
                    
hash('sha384'$passtrue)
                ),
                
$hashed_pass
            
);
        }
        
        public function 
setRememberMe($data = [])
        {
            if (\
set_cookie(
                \
getConfig('auth_rememer_name'),
                
$data['selector'],
                
$data['expires']
            )) {
                
$this->remember->insert($data);
                return 
true;
            }
        }
        
        public function 
checkRememberMe()
        {
            
$cookie = \get_cookie(\getConfig('auth_rememer_name'));
            
            if (
$cookie) {
                
                
session()->set(['ses_id' => $stored->persistence'loggedIn' => true]);
            }
        }

        public function 
getUser()
        {
            return 
$this->user_model->first(session()->ses_id);

        }
        
        function 
generateToken($length 20)
        {
            return 
bin2hex(random_bytes($length));
        }
        
        public function 
is_logged_in()
        {
            if (
$this->checkRememberMe()) {
                
            }
            if (
session()->loggedIn) {
                return 
true;
            }
            
            return 
false;
        }
        
        public function 
logout()
        {
            
session()->remove(['ses_id''loggedIn']);
            return 
true;
        }
    } 

And this code is within the codeigniter libraries folder
Reply




Theme © iAndrew 2016 - Forum software by © MyBB