zoukankan      html  css  js  c++  java
  • 关于微信登录的接口开发

    流程说明

    (1). 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;

      https://open.weixin.qq.com/connect/oauth2/authorize?appid=WX_APPID&redirect_uri=回调链接&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect';

      这里的请求成功后,会跳转到回调链接中,然后用$_GET['code']获取code的值

    (2). 通过code参数加上AppID和AppSecret等,通过API换取access_token;(这步里面能获取到openid 如果只需要openid而不需要其他信息第三步不需要做).

      https://api.weixin.qq.com/sns/oauth2/access_token?appid=WX_APPID&secret=WX_APPSECRET&code=CODE&grant_type=authorization_code'

      这步要用curl的分装函数来获取请求回来的信息

      //这个就是post的请求curl函数

      public function Send_curl($url,$data=null){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
        if($data){
          curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
         }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $output = curl_exec($ch);
        curl_close($ch);
        //解析json
        $date= json_decode($output,true);

        return $date;//返回值是一个对象类型

      }

    (3). 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

      $url = https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=SECRET

      利用上面的curl分装函数Send_curl($url)

      返回的值有token值

  • 相关阅读:
    Java异常
    docker安装和介绍(基于centos 7)
    centos7搭建gitlab版本控制系统
    webstorm快捷键使用
    Extjs-note
    mak iso
    windows上的硬盘挂载到linux上的步骤方法
    【JAVA笔记——术】JSP中乱码问题的解决方法
    PHP获得IP方式
    ubuntu安装hadoop 若干问题的解决
  • 原文地址:https://www.cnblogs.com/wzjdy/p/7286099.html
Copyright © 2011-2022 走看看