微信网页授权报code been used, hints: [ req_id: XYv1Ha07042046 ]

先贴上代码:

    public function index()
    {
        $code = input(‘get.code‘);
        $tool = new Wxtool();

        if (empty($code))
        {
             $url = ‘http://www.layton.top/wx/Receive‘;
             $tool -> getCode($url, 2);
        }else
        {
            $tool -> getWebAccessToken($code);
        }
    }

方法:

     public function getCode($url,$type=1)
     {
         $redirect_uri = urlencode($url);
         $scope = null;

         if($type == 1)
         {
             $scope = ‘snsapi_base‘;
         }else{
             $scope = ‘snsapi_userinfo‘;
         }

         $code = ‘https://open.weixin.qq.com/connect/oauth2/authorize?appid=‘ . APPID .‘&redirect_uri=‘ . $redirect_uri . ‘&response_type=code&scope=‘ . $scope . ‘&state=STATE#wechat_redirect‘;
         header("location:" . $code);
     }

     public function getWebAccessToken($code)
     {
         $url = ‘https://api.weixin.qq.com/sns/oauth2/access_token?appid=‘ . APPID . ‘&secret=‘ . APPSECRET . ‘&code=‘ . $code . ‘&grant_type=authorization_code‘;
         $data = $this -> http_curl($url, ‘get‘);
         dump($data);
     }

我们第一次进入的时候是可以正常获取返回数据的,但是刷新一下就不行了,这个是为什么呢?

没错,他第二次用的code参数是第一次获取的,微信的code只能用一次:

所以他第二次用的时候就不行了。我们正常的使用流程应该这样:

原文地址:https://www.cnblogs.com/laijinquan/p/9545180.html

时间: 2024-11-06 03:09:42

微信网页授权报code been used, hints: [ req_id: XYv1Ha07042046 ]的相关文章

微信网页授权——获取code、access_token、openid,及跨域问题解决

首先在微信开发文档中有提到微信网页授权的操作步骤: 第一步:用户同意授权,获取code 在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面: https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri = REDIRECT_URL&response_typ

IOS 中微信 网页授权报 key[也就是code]失效 解决办法

枪魂微信平台ios手机点击返回 网页授权失败,报key失效.已经解决,原因是授权key只能使用一次,再次使用就会失效. 解决办法:第一次从菜单中进行授权时,用session记录key和open_id.当点击返回时,判断session中key是否为空当不为空时,直接获取open_id,就不用通过key进行验证并获取open_id . $open_id = ""; if(!empty($_GET["code"])&&empty($_SESSION[&qu

微信网页授权 通过code获取openid 报错40163 code been used

使用好好的微信功能,突然安卓无法正常使用了,苹果的正常. 安卓报错内容: 40163,code been used. 题外话:微信的东西,为何报英文错误呢,装什么13. 实测结果:安卓获取用户信息时 ,触发了两次请求,而苹果只请求一次. 各种搜索,各种尝试,均无效. 沉下来好好想想,再反复测试, 最终发现问题出在获取用户信息的 时候,同一个code在短时间内使用了两次, public function get_access_token($code){ //基础token // $url = "h

微信网页授权获取code链接

本公众号授权 "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_base#wechat_redirect"; 第三方授权(open.weixin.qq.com) "https://open

微信网页授权获取code

<script> (function(){ var code = GetQueryString('code'); if(code){ alert(code) return false; }else{ shouquan(); } function shouquan(){ var redirect_uri = window.location.origin + window.location.pathname; console.log(redirect_uri) var appId = "

.netMVC企业微信网页授权+注册全局过滤器

微信网页授权 达到效果:企业应用只能在微信中查看,在浏览器中打开企业页面,显示无权限! 原理,用session记录用户,如果用户已经通过微信授权,记录@Session["UserId"],如果用户没有登录,则采用微信页面跳转的Code去换取UserId,如果能成功换取,则存入session,并登录成功. 逻辑图如下: (小插曲:1 微信页面重定向时,会发送多个请求,导致只能使用一次的Code失效 40029 报错 处理逻辑是,采用同步锁,页面第一次跳转到我们的服务器时,把code存入s

微信网页授权demo2

1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名.请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头: 比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html . http://www.qq.com/login.html 都可以进行OAuth2.0鉴权.

手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP)

wechat github 概述 公众号开发是痛苦的,痛苦在好多问题开发者文档是没有提到的,是需要你猜的. 在开发过程中翻了好多的文档,都是说明其中的一部分问题的,很费时间,所以在此总结大体过程.我们模拟的是一个支付的商城,在实现购买过程中基本是把微信公众号最主要模块实现了,其余的功能我们没有涉及,但应该是触类旁通的. 我们叙述的过程是按开发流程进行叙述的,不会是按照开发文档的形式叙述,希望您能结合微信的开发文档一起阅读,当然在流程中我们会提醒你阅读的部分 目录 概述 [解决的问题] [前端技术

微信网页授权认证获取用户的详细信息,实现自动登陆-微信公众号开发干货

原创声明:本文为本人原创作品,绝非他处转账,转载请联系博主 从接触公众号到现在,开发维护了2个公众号,开发过程中遇到很多问题,现在把部分模块功能在这备案一下,做个总结也希望能给其他人帮助 工欲善其事,必先利其器,先看看开发公众号需要准备或了解什么 web开发工具:官方提供的开发工具,使用自己的微信号来调试微信网页授权.调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入和输出.下载地址:web开发工具下载 开发文档:https://mp.weixin.qq.com/wiki