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新人,对于看文档来说 很是痛苦,网上也没有很多关于支付宝网页 ...
最新文章
- 机器人组团到城市打工,第一站果然是赛博朋克城
- 零基础python必背代码-编程零基础应当如何开始学习 Python?
- 有关可变形部件模型(Deformable Part Model)的一些说明
- android notification 的总结分析
- c语输入单引号_C语言的printf不能用单引号?
- ASP.NET MVC V2 Preview 1 发布 期望VS有更好的表现
- Android的引用jar包
- 谁“玩死了”共享单车?
- mysql扩展文件_MySQL中的空间扩展
- 史上最细的FIFO最小深度计算,(大多数笔试题中都会涉及)
- 用户画像案例一:汽车精准营销
- Windwos Server 2012 R2 安装LLDP协议驱动程序
- 网口压线顺序_网线怎么接头 网线水晶头的接法和排序
- 救命稻草VirtualBox,失之交臂VMware—— 2者的guest OS对 恒通笔记本并口卡的支持
- 企业微信url及生成授权链接
- 如何在html中加入注释,HTML如何加脚注(注释)?
- Visual Studio 2017项目进行打包并附加.net框架打包,菜鸟级安装教程
- pycrypto 和 lua-resty-rsa 进行跨语言的RSA加密解密.md
- VMware Workstation 全屏的设置方法
- 平仓_敞口_外汇结售汇_小记