现在的位置: 首页 > 综合 > 正文

ecshop和qq联合登陆接口整合

2012年09月30日 ⁄ 综合 ⁄ 共 1103字 ⁄ 字号 评论关闭

最近很多使用ecshop的人都开始想办法整合qq登陆。qq联合登陆平台也日益完善了。虽然现在的qq联合登陆不完善。但是他的发展方向是好的,我们也尝试了用ecshop和QQ做联合登陆。但是遇到了很多问题。我们将通过对我们制作ecshop和qq联合登陆接口整合的经验,来谈谈以下注意事项。

1:首先我们必须配置好qq联合登陆的配置文件。还有公共函数,我们将他放到ecshop的qq目录下面。

     include_once(ROOT_PATH . 'qq/comm/config.php');
     include_once(ROOT_PATH . 'qq/comm/utils.php');
     include_once(ROOT_PATH . 'qq/oauth/get_request_token.php');

     其次我们要验证下签名的合法性。

  

  if (!is_valid_openid($_REQUEST["openid"], $_REQUEST["timestamp"], $_REQUEST["oauth_signature"])){

//demo对错误简单处理

echo "###invalid openid\n";

echo "sig:".$_REQUEST["oauth_signature"]."\n";

exit;

}

2:获取ecshop联合登陆qq的授权信息

$access_str = get_access_token($_SESSION["appid"], $_SESSION["appkey"], $_REQUEST["oauth_token"], $_SESSION["secret"], $_REQUEST["oauth_vericode"]);
 //echo "access_str:$access_str\n";
 $result = array();
 parse_str($access_str, $result);

3:我们通过处理,得到qq联合登陆返回的数据进行json还原

   $info = get_qq_user_info($_SESSION["appid"], $_SESSION["appkey"], $_SESSION["token"], $_SESSION["secret"], $_SESSION["openid"]);

4:分解参数,然后通过以下函数,完成qq联合登陆的ecshop注册和登陆

    if(register($qqname, $qqname, $email, array()))

    if($user->login($qqname, $qqname,isset($_POST['remember'])))

 来源:http://www.chinab4c.com

抱歉!评论已关闭.