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值

  • 相关阅读:
    [CF1295E] Permutation Separation
    [APIO2010] 特别行动队
    [CF1296F] Berland Beauty
    [CEOI2004] 锯木厂选址
    [CF1334E] Divisor Paths
    Review 2020.11.14
    [CQOI2016] 手机号码
    [LEETCODE600] 不含连续1的非负整数
    [CF55D] Beautiful numbers
    内存取证工具volatility
  • 原文地址:https://www.cnblogs.com/wzjdy/p/7286099.html
Copyright © 2011-2022 走看看