コード例 #1
0
ファイル: Login.php プロジェクト: skybird/phalcon
 public function getRememberMeToken()
 {
     if (!$this->username) {
         $this->appendMessage(new Message('ERR_USER_REMEMBER_TOKEN_NO_USER_INPUT'));
         return false;
     }
     $sessionId = $this->getDI()->getSession()->getId();
     if (!$sessionId) {
         $this->appendMessage(new Message('ERR_USER_REMEMBER_TOKEN_NO_SESSION'));
         return false;
     }
     $userinfo = self::findFirst("username = '******'");
     if (!$userinfo) {
         $this->appendMessage(new Message('ERR_USER_REMEMBER_TOKEN_USER_NOT_FOUND'));
         return false;
     }
     $token = new Entities\Tokens();
     $token->sessionId = $sessionId;
     $token->token = md5(uniqid(rand(), true));
     $token->userHash = $this->getRememberMeHash($userinfo);
     $token->userId = $userinfo->id;
     $token->refreshAt = time();
     $token->expiredAt = time() + $this->tokenExpired;
     $token->save();
     $tokenString = $sessionId . '|' . $token->token . '|' . $token->userHash;
     return $tokenString;
 }