ecshop和qq联合登陆接口整合

2011-06-01 18:12 来源:www.chinab4c.com 作者:熊斌

     最近很多使用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'])))

    相关文章:qq联合登陆ecshop地址同步/qq彩贝ecsop地址同步问题

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