laravel-admin微信网页授权获取用户信息过程
最近在重构我们平台得前端页面以及逻辑,再此记录一下微信网页版授权获取用户资料得过程
- 第一步,安装
composer require "overtrue/laravel-wechat:~3.0" //overtrue/laravel-wechat:~5.0适应于高版本laravel
- 第二步,在config/app.php中添加两行代码
providers下添加Overtrue\LaravelWeChat\ServiceProvider::class,aliases下添加'EasyWeChat' => Overtrue\LaravelWeChat\Facade::class,
- 创建配置文件
php artisan vendor:publish
创建成功后进入config/wechat.php下配置公众号信息。如图:
可以在.env里去配置公众号信息
- 项目中使用,上代码
use EasyWeChat\Factory;
//1
public function index(Request $request){//通过路由进入首先判断session是否有值if(empty(session('userInfo'))){//没有值去授权获取资料$this->getUserInfo();}else{//有值就从session中获取值,进入页面$userinfo = session('userInfo');return view('index.HomeIndex',['data'=>$userinfo]);} }
//3 获取codepublic static function getCode(){//获取公众号配置信息$config = config('wechat.official_account.default');$http = urlencode('http://xxxx.com/api/getUserInfo')//回调地址,处理获取微信用户信息$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$config['app_id'].'&redirect_uri='. $http.'&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect';//snsapi_userinfo:弹出授权页面,可通过openid拿到昵称、性别、所在地 snsapi_user:不弹出授权页面,直接跳转,只能获取用户openidheader('location:'. $url);}// 4 通过code获取用户信息public static function getCodeUser(){//这一步可以获取到微信用户信息$config = config('wechat.official_account.default');$app = Factory::officialAccount($config);$oauth = $app->oauth;$response = $oauth->user(); return $response;}//2 执行获取资料public function getUserInfo(){//这里是回调地址,如果有code。地址是:http://xxx.com/h5/?code=011NRLFa1aRx3A0Mx9Ia1LSDn13NRLFs&state=STATEif(empty($_GET['code'])){//code为空就去获取code,这一步会授权,在下面的方法成功执行后会再次回到此方法,所以要先判断code是否为空self::getCode();}else{//已经授权,回调会走此方法,下面方法会获取用户资料$userInfo = self::getCodeUser();$data = User::getUser($userInfo);//执行添加用户信息并返回return redirect("/api/Home-index");}}// 存在就修改,不存在添加(用户)public static function getUser($data){//获取本人信息,有就更新,没有就添加$info = User::where('openid',$data['id'])->first();if(empty($info)){//添加$userInfo['openid'] =$data['id'];$userInfo['avatar'] =$data['avatar'];$userInfo['name'] =$data['name'];User::create($userInfo);}else{//修改User::where('openid',$data['id'])->update(['avatar'=>$data['avatar'],'name'=>$data['name']]);}session(['userInfo'=>$info]);//存储到sessionreturn $data;}
因前端重构工程大,所以暂时搁置,代码没有测试完整,欢迎讨论。
laravel-admin微信网页授权获取用户信息过程相关推荐
- Spring Boot 微信-网页授权获取用户信息
微信-验证服务器有效性 微信-网页授权获取用户信息 网页授权获取用户信息步骤 第一步:用户同意授权,获取code 第二步:通过code换取网页授权access_token 第三步:拉取用户信息(需sc ...
- PHP 微信网页授权获取用户信息
最近用到过微信用户授权获取用户信息的功能,在这里记录一下. 因为用户授权要用到认证过的服务号才有权限,而线上正在使用公众号,而开发就有些不方便了,这里可以申请一个微信公众测试号. 1.申请一个微信公众 ...
- 微信网页授权获取用户信息实战代码
微信授权的整体思路: 1 第一步:用户同意授权,获取code 2 第二步:通过code换取网页授权access_token 3 第三步:刷新access_token(如果需要) 4 第四步:拉取用户信 ...
- 微信用户绑定java实例_OAuth2.0微信网页授权获取用户信息实现全过程(JAVA版本)...
一.前言 为什么需要OAuth2.0网页授权接口,主要是为了获取微信用户的基本信息(比如用户绑定,用户统计等等) 特别注意:只有认证的服务号有此接口权限 那么订阅号如何实现这个功能呢?可以通过另一个服 ...
- 连小白都能看懂的微信开发之 微信自定义菜单 + 获取网页授权 + 获取用户信息
微信自定义菜单+获取网页授权+获取用户信息 今天项目需要一个需求,就是添加一个菜单接口,并且还可以获取用于的信息,从而根据用户的信息去做一些业务的查询.通过百度和自己查看文档大致的解决办法如下: 注意 ...
- 微信网页授权获取用户基本信息 --- 20/03/16
ThinkPHP5实现微信网页授权获取用户基本信息 本次使用的appID与appSecret为公众号 一:准备工作 登录微信公众平台,左侧菜单下拉至开发选中基本配置 启用开发者密码(AppSecret ...
- PHP开发之-微信网页授权获取用户基本信息
如何通过网页授权获取用户基本信息(国家,省,市,昵称)相关信息 必要条件: 1)公众号认证 2)有网页授权获取用户基本信息的权限接口 注意:最近有朋友说:在公众平台申请的测试号,会出现无法取到用户信息 ...
- PHP通过微信网页授权获取用户基本信息
微信网页授权获取用户基本信息: <?php$appid = '你的appid'; $secret = '你的secret';if (isset($_GET['code'])) {$code = ...
- 支付宝 网页授权 获取用户信息
****** 支付宝 网页授权 获取用户信息(昵称,头像等)****** 最近有个项目 需要获取到支付宝的头像和昵称作为互动数据,作为php新人,对于看文档来说 很是痛苦,网上也没有很多关于支付宝网页 ...
最新文章
- 分享一段PowerShell用户认证Function
- Python魔法函数
- eclispe使用外部tomcat总结
- 汽车之家店铺数据抓取 DotnetSpider实战
- 测试如何转为开发人员
- 4001.基于双向链表的双向冒泡排序法
- 电脑突然无法播放html音频,电脑无法播放音频怎么办
- 移动开发之手势与双指缩放
- 【50】了解new和delete的合理替换时机
- 利用c语言实现函数信号发生器,基于51单片机函数信号发生器完整论文下载 带源码 原理图...
- -XX:+PrintGCTimeStamps -XX:+PrintGCDetails 日志分析
- 《2小时品牌素养》读后感
- mysql 用户 多次登录失败_限制用户登录失败次数,在连续登陆失败10次后冻结该用户。...
- 今日头条,今日特卖自媒体号如何申请。
- win10/win11快速隐藏/显示桌面图标快捷方式
- php基于浏览器的linux终端模拟器,回顾最佳的9款Linux终端模拟器
- 设计模式之命令模式(C语言)
- 国内云通讯渗透率不足3% 容联云SaaS业务迈入高速发展期
- 嘎吱作响Creaks for mac(解谜游戏)中文版支持m1
- java添加坚挺_Java连载136-两种方式插入数据
热门文章
- R语言几何布朗运动 GBM模拟股票价格优化建立期权定价概率加权收益曲线可视化
- 达利欧《成功的原则》中文字幕
- 大数据采集的流程是什么,主要分为哪几步?
- 中国第三方输入法行业发展趋势如何?看这篇报告就够了
- 局域网文件共享工具(有权限管理、备份等功能)
- SSM+Redis的小demo
- java计算机毕业设计的课程交流系统源程序+mysql+系统+lw文档+远程调试
- Python-输入一串字符,判断是否为手机号码
- “土豪金”的正确打开方式:18K黄金定制,iPhone13 Pro起售价27万元
- 使用U盘启动盘进入winPE后蓝屏怎么解决