Exemple #1
0
 function login_action()
 {
     $token = $this->get('token');
     if ($token) {
         $userId = $this->get('user_id');
         $username = $this->get('username');
         $time = $this->get('time');
         $token = $this->get('token');
         if (time() - $time > 60) {
             throw new \Exception('auth.expired');
         }
         $uapi = new \firegit\app\mod\user\User();
         if (!$uapi->checkUserToken($userId, $username, $time, $token)) {
             throw new \Exception('auth.failed');
         }
         $user = new \firegit\app\mod\user\Grant();
         $cookieValue = $user->packSession($username, 24 * 3600);
         setcookie('fuser', $cookieValue, time() + 24 * 3600, '/', null, null, true);
         $this->response->redirect(isset($_COOKIE['rurl']) ? $_COOKIE['rurl'] : '/');
     }
     $u = $this->get('u');
     setcookie('rurl', $u, null, '/');
     $this->setLayout('layout/common.phtml')->setView('user/login.phtml');
 }