京东ai NeuHub单点登录

$appKey,
            'code'=>$code,
            'grant_type'=>"authorization_code",
            'redirect_uri'=>'http://www.xxx.com',//回调url地址
        );
        //生成签名
        $createSign = $this->getSign($content,$appSecret);

        $Data = array(
            'grant_type'=>"authorization_code",
            'client_id'=>$appKey,
            'redirect_uri'=>'http://www.xxx.com',//回调url地址
            'code'=>$code,
            'sign'=>$createSign,
        );

        $Url = "http://ai-oauth.jd.com/auth/token";//京东token接口
        $result = json_decode($this->getCurlUrl($Url,$Data),true);//授权后得到京东账户信息        

        //存入数据库
        if(isset($result['code'])){
            $master_user_id = $result['data']['auth_info']['user_info']['master_user_id']; //京东主账号id
            /*
			*  自己业务逻辑
			*  1、京东账号是否已在本系统数据库中
			*  2、单点登录处理
			*
			*/			
        }

        //异常跳转京东详情页
        $this->error('操作异常');
    }

    //签名生成方法
    public function getSign($content,$appsecret)
    {
        ksort($content);
        $newContent = $appsecret.(urldecode(http_build_query($content))).$appsecret;
        $sign = md5($newContent);
        return $sign;
    }

    //请求token
    public function getCurlUrl($ulr,$content)
    {
        $headers =  array("Content-type: application/json");
        $url =$ulr.'?'.http_build_query($content);

        $ch = curl_init();
        //设置选项,包括URL
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

        //执行并获取HTML文档内容
        $output = curl_exec($ch);
        //释放curl句柄
        curl_close($ch);
        return $output;
    } 	
}

 

你可能感兴趣的:(第三方登录)