Exemple #1
0
 /**
  * 静态方法, 单例统一访问入口
  * @return object  返回对象的唯一实例
  */
 public static function getInstance()
 {
     if (is_null(self::$_instance) || !isset(self::$_instance)) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Exemple #2
0
 /**
  * Implements OAuth2::getAccessToken().
  */
 protected function getAccessToken($oauth_token)
 {
     $accessInfo = MiniToken2::getInstance()->getAccessInfo2($oauth_token);
     return $accessInfo;
 }
Exemple #3
0
 /**
  * 根据cookie中的accessToken获得用户信息
  */
 private function getUserByAccessToken()
 {
     //当accessToken在session中的时候,他的优先级最高,然后cookie里面的accessToken
     //这里解决新版客户端网页加载的问题
     $accessToken = Yii::app()->session["accessToken"];
     if (empty($accessToken)) {
         //PC客户端从Post参数获得access_token
         if (MiniHttp::isPCClient()) {
             $accessToken = MiniHttp::getParam("access_token", "");
         } else {
             if (!array_key_exists("accessToken", $_COOKIE)) {
                 $accessToken = MiniHttp::getParam("access_token", "");
                 if (empty($accessToken)) {
                     return NULL;
                 }
             } else {
                 $accessToken = $_COOKIE['accessToken'];
             }
         }
     }
     if (empty($accessToken)) {
         return NULL;
     }
     $accessInfo = MiniToken2::getInstance()->getAccessInfo2($accessToken);
     if (!isset($accessInfo)) {
         return NULL;
     }
     $user = MUserManager::getInstance()->getUserOauth2($accessInfo["device_id"]);
     //获取用户的信息
     return $user;
 }