在微信开发中,通常要获取点击链接的用户的open_id通常需要这几步。

1、获取带code的url,重定向。获取code。

    static public function getURL(array $params){$wx_id = $params['wx_id'];$domain = self::getWxDate($wx_id)->domain;$name = $params['name'];$param = ['appid' => config('wechat.app_id'),'redirect_uri' => $domain .'/wx/' . $name,'response_type' => 'code','scope' => 'snsapi_base','state' => 1];return 'https://open.weixin.qq.com/connect/oauth2/authorize?' . http_build_query($param) . '#wechat_redirect';}
2、通过code获取openid
    public function getAuth(Request $request){$code = $request->input('code'); $open_id = Cache::get($code, false);if (!$open_id) {$params = ['appid' => config('wechat.app_id'),'secret' => config('wechat.secret'),'code' => $request->input('code'),'grant_type' => 'authorization_code',];$http = new Http();$result = $http->get('https://api.weixin.qq.com/sns/oauth2/access_token', $params)->getBody();$result = json_decode($result, true);if (isset($result['errcode'])) {return $result['errmsg'];} else {$open_id = $result['openid']; Cache::put($code, $open_id, 10);}}return view('weixin', ['open_id' => $open_id, 'red' => $data->amount]);}

注:因为当通过code来获取openid时,code只能使用一次,这里用了一个小技巧来解决刷新网页code过期。就是上面标红的代码部分。当第一次获取到openid时,将openid缓存起来,刷新时会判断,如果openid存在,就不用通过code来获取openid了。当然这两行代码还有值得注意的地方就是缓存的key为code值。
												

微信开发刷新网页code过期相关推荐

  1. 微信开发_网页授权获取用户的基本信息

    如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于OAuth2.0的说明 官方网站:http://oauth.net/   http:/ ...

  2. 微信开发之网页授权获取用户基本信息

    微信官方文档:网页授权获取用户基本信息 具体而言,网页授权流程分为四步: 1.引导用户进入授权页面同意授权,获取code https://open.weixin.qq.com/connect/oaut ...

  3. 微信开发一--网页授权

    功能: 主要用于在用户通过手机端微信访问第三方H5页面时获取用户的身份信息(openId,昵称,头像,所在地等..)可用来实现微信登录.微信账号绑定.用户身份鉴权等功能. 一.开发前的准备: 1.需要 ...

  4. 微信开发之网页返回关闭浏览器

    微信有两种关闭的操作 一种是获取微信签名执行jsAPI进行操作.还有一种就是下面的操作.获取api的操作需要后台开发接口的 简单点就用下面的操作实现 let state = {title: " ...

  5. errorcode 微信分享_微信公众号网页授权code问题

    最近做微信开发,在网页授权的时候,总是出现异常 time:2017-03-10 问题:手机端访问网页没问题,电脑端微信测试就会出现code过期情况,导致服务器错误 错误情况: 只要出现上述申请访问连接 ...

  6. 微信开发网页授权获取用户信息

    如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 1. 关于OAuth2.0的说明 官方网站:http://oauth.net/   htt ...

  7. 微信开发——网页授权

    微信开发--网页授权 前期准备 前端 后端 前期准备 ①微信客户端中访问第三方页面,公众号可以通过网页登陆授权,获取微信用户的基本信息(头像.昵称等),实现业务逻辑.一切按照官方文档说明开发. ②安装 ...

  8. 连小白都能看懂的微信开发之 微信自定义菜单 + 获取网页授权 + 获取用户信息

    微信自定义菜单+获取网页授权+获取用户信息 今天项目需要一个需求,就是添加一个菜单接口,并且还可以获取用于的信息,从而根据用户的信息去做一些业务的查询.通过百度和自己查看文档大致的解决办法如下: 注意 ...

  9. Java微信公众号开发之网页授权获取用户基本信息

    本篇博客讲解的网页授权只需要前端传递一个backUrl(回调地址) 到后台接口,后台接口会完成整个授权流程,无需前端做更多工作: 一. 前言 微信公众号开发,需要用到网页授权获取用户信息,通过OAut ...

  10. 微信开发---微信网页授权、JS-SDK和微信公众号的基本设置

    用了好几个小时的时间,整理了一下关于公众号的思维导图,由于CSDN不能上传相对应的文件,所以萍子一一的分解开的截图附上来,希望对大家有所帮助哦~ 因为是电脑设备自动截图,又鉴于内容比较多,可能不是太清 ...

最新文章

  1. 5.3.4 TCP流量控制
  2. Integer.highestOneBit(int i)方法的作用与底层实现
  3. 005. how is RFC to backend determined - maintenance view IWFNDV_MGDEAM
  4. 敏捷开发团队管理系列之二:程序与测试团队I
  5. Python 10 行以内代码能有什么高端操作?| 原力计划
  6. Mvc中Session导致action不异步的问题
  7. 投票系统程序设计缺陷分析
  8. 面试必备(背)-Linux八股文系列!
  9. Android项目:天气预报App
  10. 【014】求字体-上传图片自动识别字体
  11. 使用docker运行mysql:5.7
  12. 小说阅读翻页分页实现思路
  13. idea显示Multiple Spring Boot run configurations were detected. Services allows to manage multiple
  14. Fastreport VCL 4.15.6 for Delphi 4 ~ XE 5
  15. Tesla Model S的设计失误
  16. 在电脑桌面上添加便签的方法步骤解析
  17. HTML虚拟键盘带声音特效
  18. 中国苯二亚甲基二异氰酸酯XDI市场发展格局及未来前景动向分析报告2022-2028年
  19. mysql数据库怎么解锁表_MySQL数据库如何锁定与解锁数据库表?
  20. js对象的getter和setter

热门文章

  1. DOOM启世录的启示
  2. 2021全国大学生电子设计竞赛论文(智能送药小车(F题))(电赛论文模板)
  3. 网管教程+从入门到精通软件篇
  4. Window系统: 解决 win xp系统 最新版QQ/TIM安装包 报错误 安装包可能被非法改动导致安装失败 云云.2021-02-15
  5. 斗鱼直播分享html代码,用纯javascript实现斗鱼直播弹幕效果,代码也才这么点-优酷弹幕怎么设置...
  6. 江西直播源PHP代理,直播源更新平台
  7. 古代汉语(王力版)笔记 通论8-9
  8. 在线JSON校验格式化工具(Be JSON)
  9. 2345 网址导航劫持 解决办法
  10. python 安装包的默认路径与更改