|
@@ -0,0 +1,79 @@
|
|
|
+<?php
|
|
|
+namespace 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');
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public function doGet() {
|
|
|
+ $refer = Request::g ( 'referer' );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ $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;
|
|
|
+ }
|
|
|
+}
|