微信学习笔记之二(微信jssdk获取配置权限流程)

原创 2015年04月03日 09:39:43
 前期准备:

    

    a. 自己的电脑绑定独立的域名

    b. 成功申请微信管理测试账号

    c. 本引导采用的是php的CI框架

1.绑定域名


这一步 在笔记一 中已经解决,正式公众号的绑定很简单请访问官方文档
这里不再赘述。


2.获取 config相关的配置信息


(1) 获取token(失效时间 7200秒)


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

   获取结果示例:

   {"access_token":"ACCESS_TOKEN","expires_in":7200};


   请求:
   注意如果是本地映射外网的服务器,需要绕过https的证书认证
   正式服务器环境可以省略这一步

   

$this->curl->options(array(CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false));//绕过证书认证 正式服务器可省略
   $res =  $this->curl->simple_get($url); //发送get 请求 并返回请求结果
   $token = json_decode($res);
   $token = $token->access_token; //到这里就完成了第一步的请求

第一种方式缓存:memcache

<?php
    $mmc=memcache_init();//初始化缓存
    $token=memcache_get($mmc,"token");//获取Token
    if(empty($token))//判断是否为空,如为空则重新获取Token
    {
        $appid="wx7ced2a8593275753";
        $secret="71f475563d00103a356943875e96d43a";
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}";
	/*
        $ch = curl_init();
	curl_setopt($ch, CURLOPT_URL,$url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	$a = curl_exec($ch);
	*/
        //将上面的CI的获取代码段放在这里 
	$strjson=json_decode($a);
	$access_token = $strjson->access_token;
	memcache_set($mmc,"token",$access_token,0,7200);//过期时间为7200秒
	$token=memcache_get($mmc,"token");//获取Token
      }
   ?>

第二种方式缓存:文件缓存

<?php
      //这种方式要平凡操作文件IO 也有它的弊端 只写操作思路伪代码
      //我们以 "时间戳 ## access_token" 格式进行存储
      $current_time = time();
      $info = file_get_contents("文件路径");
      $access_token = '';
      if(trim($info) == ''){
              //重新获取token代码 将CI获取的代码段放在这里
	      //获取到后将新的时间戳 和 对应的 access_token 存入
	      $access_token = 赋值;
      }else{
          $access_info = explode('##',$info);
	  $time = $access_info[0];
          if($current_time > $time + 7200 || trim($access_info[1]) == ''){
	      //重新获取token代码 将CI获取的代码段放在这里
	      //获取到后将新的时间戳 和 对应的 access_token 存入
	      $access_token = 赋值;
	  }else{
	      $access_token = 赋值;
	  }
      }

   ?>

第三种方式缓存:数据库缓存


   这种方式要频繁查询数据库,原理与上面的文件缓存一致,不在赘述

(2) 获取完成后 提取 ticket

   (获取及缓存方式 同上)


   https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi


   {
      "errcode":0,
      "errmsg":"ok",
      "ticket":"bxLdikRXVbTPdHSM05e5u5sUoXNKd8-          

                   41ZO3MhKoyN5OfkWITDGgnr2fwJ0m9E8NYzWKVZvdVtaUgWvsdshFKA",
      "expires_in":7200
   }


(3) 生成 signature



参数如下:


    jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-

                        HhTdfl2fzFy1AOcHKP7qg
    noncestr=Wm3WZYTPz0wzccnW   //自己生成的16位随机字符串
    timestamp=1414587457        //第一次请求时的时间戳
    url=http:sjgf.nat123.net    //当前url 主域名必须与你绑定的安全js域名一致


    $string1 ="jsapi_ticket={$ticket}&noncestr={$noncestr}×tamp={$timestamp}&url={$current_url}";
    //signature的获取
    $signature=sha1($string1)。

(4) 验证config 微信



   appId: '', // 必填,公众号的唯一标识
   timestamp: , // 必填,生成签名的时间戳
   nonceStr: '', // 必填,生成签名的随机串
   signature: '',// 必填,签名


 详情请见:官方jssdk 说明文档







微信开发之——JSSDK,通过config接口注入权限验证配置

步骤1:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 备注:登录后可在“开发者中心”查看对应的接口权限。 步骤2:引入js 在需要调用JS接口的页面引入如下...
  • u013589542
  • u013589542
  • 2017年02月04日 17:20
  • 6351

微信JSSDK接入Java版--步骤及问题处理和解决

微信JSSDK接入Java版--步骤及问题处理和解决 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图...
  • u010651369
  • u010651369
  • 2016年08月17日 16:52
  • 5771

微信的jssdk的config接口注入权限验证配置--signature的生成

生成signature有一下几步: 1、通过 appid + appsecert 获取公众号的 access_token 2、根据1的access_token来获取jsapi_token 3、随...
  • November22
  • November22
  • 2017年02月07日 21:47
  • 490

微信开发之——JSSDK,通过config接口注入权限验证配置

步骤1:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 备注:登录后可在“开发者中心”查看对应的接口权限。 步骤2:引入js 在需要调用JS接口的页面引入如下...
  • u013589542
  • u013589542
  • 2017年02月04日 17:20
  • 6351

微信jsSDK本地调试流程攻略(nodeJs实现获取access_token等信息)

最近想在微信平台嵌入一个H5页面的DEMO,并想要调用微信平台的jsAPI,但这一操作需要获取微信的认证,经过一天的不断调试,终于攻克了这个问题,现将思路和解决方案记录下来,以供需要的朋友参考。...
  • yq_oxygen
  • yq_oxygen
  • 2017年11月22日 15:08
  • 255

java+jsp微信开发入门教程 jssdk,通过config接口注入权限验证配置,微信开发教程

微信开发,扫描二维码,拍照、本地选图,图片预览,上传图片,下载图片,获取当前网络状态,查看地理位置,获取当前地理位置打开地图,关键是使用JsSignUtil获取了access_token,jsapi_...
  • greenfly
  • greenfly
  • 2017年11月06日 15:52
  • 91

微信JSSDK权限验证demo

  • 2017年10月25日 15:09
  • 1.53MB
  • 下载

微信网页JSSDK开发流程

1、绑定域名 登录微信公众后台之进入公众号设置的功能设置,填写JS接口安全域名。 2、引入JS文件 3、通过config接口注...
  • A632189007
  • A632189007
  • 2017年07月14日 10:59
  • 455

JAVA 微信JSSDK Config参数配置方法

公司让我这个开发Android的来开发后台,第一个项目就是微信公众号,没办法,硬着头皮上了哈。下面分享下微信公众号JSSDK中config参数的获取。...
  • qq_23477421
  • qq_23477421
  • 2016年06月25日 01:19
  • 5293

关于使用微信JSSDK的配置问题

配置wx.config文件时所需的四个数据分别如下: appid //(微信公众平台开发者APPId) timestamp //(自己设定的随机数) nonceStr //(随机字符...
  • sinat_29821865
  • sinat_29821865
  • 2015年10月18日 20:32
  • 428
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微信学习笔记之二(微信jssdk获取配置权限流程)
举报原因:
原因补充:

(最多只允许输入30个字)