Example #1
0
 public function actionV()
 {
     //		$dir = '/Volumes/web/material/IMG_0401.JPG';
     //		$data = (new UploadFile())->UploadDir($dir, 'pubilc');
     /*	$lng = '121.46471';
     		$lat = '31.221702';
     
     		$lng2 = '121.503';
     		$lat2 = '31.241973';
     
     		$data = $this->getDistance($lng,$lat,$lng2,$lat2);*/
     //$data = $this->getCoor($lng,$lat);
     $arr = ['uid' => 1, 'code' => 364896, 'token' => '545452kdjsdfsd932'];
     $str = Encrypt::getInstance()->encrypt($arr);
     echo $str . '<br>' . strlen($str) . '<br>';
     $key = 'token';
     $obj = new Prpcrypt($key);
     $data = $obj->encrypt(serialize($arr));
     echo '<pre>';
     print_r($data[1]);
     echo '<br>';
     echo strlen($data[1]);
     echo '<br>';
     $data = $obj->decrypt($data[1]);
     print_r(unserialize($data[1]));
 }
Example #2
0
 /**
  * @param $token
  * @return bool
  * @throws UnauthorizedHttpException
  */
 public static function checkAccessToken($token)
 {
     $tokenArr = Encrypt::getInstance()->decrypt($token);
     if ($tokenArr) {
         return self::verificationToken($tokenArr);
     } else {
         throw new UnauthorizedHttpException('Illegal access token');
     }
 }
Example #3
0
 /**
  *
  * @return bool|string
  */
 public function createdToken()
 {
     if ($data = $this->getAccountInfo()) {
         $rand = RandCode::getInstance();
         $tokenArr['uid'] = $data['uid'];
         $tokenArr['code'] = $rand->createCode(1, 6, 1)[0];
         $tokenArr['token'] = $rand->createCode(1, 32)[0];
         $accessToken = Encrypt::getInstance()->encrypt($tokenArr);
         $cache['key'] = TOKEN_KEY . $data['uid'];
         $cache['expire'] = TOKEN_EXPIRE;
         $status = Memcached::getInstance($cache)->set($tokenArr);
         if ($status) {
             return Format::messages(0, 'get token success', ['access_token' => $accessToken, 'expire' => TOKEN_EXPIRE]);
         }
     }
     return Format::messages(100001, 'the user has not authorized');
 }
Example #4
0
 /**
  * Parameter Handling
  */
 protected function beforeRun()
 {
     if (Yii::$app->request->isGet) {
         $this->data = Yii::$app->getRequest()->getQueryParams();
     } else {
         $param = Yii::$app->getRequest()->getRawBody();
         if ($param) {
             $param = json_decode($param, true);
             if (json_last_error() !== JSON_ERROR_NONE) {
                 $this->data = $param;
             }
         }
         $this->data['token'] = Yii::$app->getRequest()->getQueryParam('token');
     }
     if ($this->data['token']) {
         $this->tokenArr = Encrypt::getInstance()->decrypt($this->data['token']);
     }
     return true;
 }