| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | <?phpnamespace Cas\Controller;use KIF\Cache\Memcached;use KIF\Core\Config;use KIF\Core\Request;/** *  * passport 从第三方获取userid * @author rabin * */class Passport extends Controller{        private $config;        public function __construct() {        $this->config = Config::getInstance()->get('passport');        //$this->objMemcached = new Memcached();        //$this->refer = 'passportRefer';    }    public function doGet() {        $refer = Request::g ( 'referer' );        //$this->objMemcached->set($this->refer, $refer);        $host = $this->config['url'];        $param = $this->config['param'];        $data = $this->httpPost($host, $param);        $data = json_decode($data, true);        /*        $data['data'] = array        (        	'nickName' => 'rabin',        	'avatar' => 'http://echarts.baidu.com/images/logo.png',        	'tokenId' => '111111',        );        */        if (isset($data['data']) && isset($data['data']['tokenId']) && $data['data']['tokenId']) {            $refer = urldecode($refer);            $refer = str_replace('&', '&', $refer);            $param['nickname'] = $data['data']['nickName'];            $param['headimgurl'] = $data['data']['avatar'];            $param['uid'] = $data['data']['tokenId'];            $refer .= '&' . http_build_query($param);            header ( "Location: " . $refer);		} else {			print_r($data);die;		}    }    private function httpGet($url) {        $curl = curl_init();        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);        curl_setopt($curl, CURLOPT_TIMEOUT, 500);        curl_setopt($curl, CURLOPT_URL, $url);        $res = curl_exec($curl);        curl_close($curl);        return $res;    }    private function httpPost($url, $param) {        $curl = curl_init();        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);        curl_setopt($curl, CURLOPT_TIMEOUT, 500);        curl_setopt($curl, CURLOPT_URL, $url);        curl_setopt($curl, CURLOPT_POST, 1);        curl_setopt($curl, CURLOPT_POSTFIELDS, $param);        $res = curl_exec($curl);        curl_close($curl);        return $res;    }}
 |