微信wechat.class.php,laravel使用组件实现微信网页授权登入

laravel框架中的实现简单实现微信网页授权登入

首先引入基于laravel的easywechat的组件,laravel版本5.8

$ cd laravel

$ composer require "overtrue/laravel-wechat:~5.0"

然后呢因为下载过程会比较缓慢所以可以先根据官方提供的方式配置一下该组件的中间件

a57c2264fe834eb300dcb8bdea5521d7.png

根据官方提供的测试代码在routes/web.php中定义这个参数

6694f282342b9805830c5eb53b9f1ede.png

然后开启natapp 再访问在routes/web.php中定义的user路由

natapp使用方法https://natapp.cn/article/natapp_newbie

注意还有一个动作要做就是发布配置文件

php artisan vendor:publish --provider="Overtrue\LaravelWeChat\ServiceProvider"

修改应用根目录下的 config/wechat.php 中对应的参数即可;我们可以把信息放到.env中

5b26d91a64e2c8bfe35cdb0b50006a20.png

模拟授权

有时候我们希望在本地开发完成后线上才真实的走微信授权流程,这将减少我们的开发成本,那么你需要做以下两步:

准备资料:

以下字段在 scope 为 snsapi_userinfo 时尽可能配置齐全哦,当然,如果你的模式只是 snsapi_base 的话只需要 openid 就好了。

use Illuminate\Support\Arr;

use Overtrue\Socialite\User as SocialiteUser;

$user = new SocialiteUser([

'id' => Arr::get($user, 'openid'),

'name' => Arr::get($user, 'nickname'),

'nickname' => Arr::get($user, 'nickname'),

'avatar' => Arr::get($user, 'headimgurl'),

'email' => null,

'original' => [],

'provider' => 'WeChat',

]);

将资料写入 session:

注意:一定要在 OAuth 中间件之前写入,比如你可以创建一个全局中间件来完成这件事儿,当然了,只在开发环境启用即可。

session([‘wechat.oauth_user.default' => $user]); // 同理,default 可以更换为您对应的其它配置名

事件

你可以监听相应的事件,并对事件发生后执行相应的操作。

OAuth 网页授权:Overtrue\LaravelWeChat\Events\WeChatUserAuthorized

// 该事件有以下属性

$event->user; // 同 session(‘wechat.oauth_user.default')一样

$event->isNewSession; // 是不是新的会话(第一次创建 session 时为 true)

$event->account; // 当前中间件所使用的账号,对应在配置文件中的配置项名称

开放平台路由支持

在配置文件 route 处取消注释即可启用。

'open_platform' => [

'uri' => 'serve',

'action' => Overtrue\LaravelWeChat\Controllers\OpenPlatformController::class,

'attributes' => [

'prefix' => 'open-platform',

'middleware' => null,

],

],

授权方成功授权:Overtrue\LaravelWeChat\Events\OpenPlatform\Authorized

授权方更新授权:Overtrue\LaravelWeChat\Events\OpenPlatform\UpdateAuthorized

授权方取消授权:Overtrue\LaravelWeChat\Events\OpenPlatform\Unauthorized

开放平台推送 VerifyTicket:Overtrue\LaravelWeChat\Events\OpenPlatform\VerifyTicketRefreshed

// 事件有如下属性

$message = $event->payload; // 开放平台事件通知内容

配置后 http://example.com/open-platform/serve则为开放平台第三方应用设置的授权事件接收 URL。

到此这篇关于laravel使用组件实现微信网页授权登入的文章就介绍到这了,更多相关laravel微信网页授权登入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 扩展挂载盘大小_Linux 添加挂载硬盘(包含挂载大于2T以上硬盘)

转自:http://blog.csdn.net/season_hangzhou/article/details/36423223由于事先规划问题或者业务需求量激增,总会出现机器硬盘空间不够用的情况所以常常需要新增硬盘,操作方法如下一、安装硬盘到物理机上。二、查看硬盘是否正确安装。使用“f…

oracle 存储过程打印语句,oracle学习之第一个存储过程:打印Hello World

--第一个存储过程:打印Hello World/*调用存储过程2种方式:1、exec sayhelloworld();2、beginsayhelloworld();sayhelloworld();end;/*/create or replace procedure sayhelloworld --假设这个存储过程存在就replace替换否则create创建,这里创…

oracle 运维入门,Oracle日常基本运维命令及基本体系结构

Oracle日常基本运维命令及基本体系结构发布人:中嘉和信发布时间:2020.05.11来源:运维派中嘉和信北京机房以康盛机房、亦庄国际机房、四季青机房为主,作为互联网数据中心集成服务领域的标杆企业,中嘉和信一直以客户需求…

qc成果报告范例_质量引领创新 扬子江勇夺医药行业QC“十五连冠”

近日,第40届全国医药行业QC小组成果发布交流会圆满落幕,扬子江药业集团勇夺QC一等奖总数“十五连冠”。会上,业界人士共享新成果、带来新思考、集聚新视野。扬子江人凭借高标准、高要求的精益求精的创新精神,在产品质量、技术、人…

php关联图片,PHP关联链接添加方法

PHP关联链接添加方法为了优化内链,我们需要将内容添加上关键链接,那内容如果添加关联链接呢,怎么添加呢?下面小编带大家一起来看看详细内容,希望对大家有所帮助!方法一:手动编辑添加方法二:使用程序在输出…

mysql数据表中取几列_MySQL实现表中取出随机数据

MySQL是开放源代码,MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。 那么如何在MySQL实现表中取出随机数据呢?SELECT * FROM table_name ORDER BY rand() LIMIT 5;rand在…

获取php.ini配置信息,获得php所对应的配置文件(php.ini)信息

获得php所对应的配置文件(php.ini)信息[rootBIND9-master /usr/local/bin]# php --iniConfiguration File (php.ini) Path: /usr/local/etcLoaded Configuration File: /usr/local/Zend/etc/php.iniScan for additional .ini files in: /usr/local/etc/phpAdditional .…

android shpe 三角形_绘制三角形背景的android

I need to draw a background of layout as a triangle, like you can see in the picture.Ive found an example where they do something similar, but I dont know how to adapt it to my case. Here is the exampleCan anyone help me? Best.解决方案Here is an example o…

oracle 11g安装时设密码 database control,安装oracle 11g 保护Database Control时出错,Database Control已在非安全模式下启动...

错误解决:打开cmdC:\Users\lin>emctl status dbconsoleEnvironment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.C:\Users\lin>C:\Users\lin>set oracle_sidorclC:\Users\lin>emca -config dbcontrol dbE…

python中argument函数_PythonStudy——函数的参数 Function argument

形参与实参# 参数介绍:# 函数为什么要有参数:因为内部的函数体需要外部的数据# 怎么定义函数的参数:在定义函数阶段,函数名后面()中来定义函数的参数# 怎么使用函数的参数:在函数体中用定义的参数名直接使用# 实参&…

matlab 分隔线,matlab字符分割方法

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼以下是我编的,您给看一下,往下我就不会了。。。。。希望您能帮帮我clear allclose alliimread(C:\Users\lenovo\Desktop\验证码.bmp)jrgb2gray(i)figure(1),imshow(i),title(原始彩色图像)figure,imshow(j),…

oracle fs1 2多少u,甲骨文FS1系列闪存的“大道至简”

近年来,存储技术中,闪存技术顶着“最高效挖掘数据能力”和“最小容量需求”的称号试图颠覆传统存储的技术架构和竞争格局。据IDC预测,全闪存存储阵列市场规模在2015年将增至12亿美元,而到2016年这一市场将增至16亿美元&#xff0c…

python boxplot orient_Python 可视化 | Seaborn5 分钟入门 (三)——boxplot 和 violinplot

微信公众号:「Python读财」如有问题或建议,请公众号留言Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易&#xf…

kibana 更新 索引模式_升级 Kibana - Kibana 中文文档

IMPORTANT:在升级 Kibana 之前:请参考重要变更文档。在升级生产服务之前请先在测试环境测试升级。使用 Elasticsearch 的 snapshots 特性备份数据。除非存在备份数据,否则版本 不能向前回滚 。如果使用了自定义插件,检查其是否有兼容版本。从…

oracle裁员原因_Oracle大幅度裁员意味着什么?

近日,Oracle开始大幅度裁撤中国区研发中心(CDC),整个CDC一共1600人,被裁掉的将有900人,近六成的员工将面临失业。Oracle中国如此大动作裁员的原因究竟是什么呢?2018财年,甲骨文总营收为398.31亿美元&#x…

oracle计算1到一百偶数的和,Perl 打印在1..100内所有偶数和奇数

#!/usr/bin/perl -w#本程序用来打印#1-100的所有偶数#1-100的所有奇数#1-100里所有以1、2、7结尾的数for(my $i1;$i<100;$i){if (!($i % 2)){print "$i\t";}}print "\n";for(my $i1;$i<100;$i){if ($i % 2){print "$i\t";}}print "\n…

python微信集成_Python微信公众号后台开发005:集成智能聊天机器人​

​给公众号集成一个智能聊天机器人一、前述ChatterBot是一个基于机器学习的聊天机器人引擎&#xff0c;构建在python上&#xff0c;主要特点是可以自可以从已有的对话中进行学(jiyi)习(pipei)。二、具体1、安装是的&#xff0c;安装超级简单&#xff0c;用pip就可以啦pip insta…

django oracle 性能,4.利用Django在前端展示Oracle 状态趋势

利用Django在前端展示Oracle 状态趋势2017-12-15 Python 宅必备开发环境操作系统:CentOS 7.4Python版本 :3.6Django版本: 1.10.5操作系统用户:oms数据处理:pandas前端展示:highcharts通过上面我们已介绍了如何定时获取系统Oracle状态语句以及如何利用pandas处理成highcharts识别…

分段二次插值例题_分段三次插值

摘要用函数来表示变量间的数量关系广泛应用于各学科领域&#xff0c;但是在实际问题中&#xff0c;往往是通过实验、观测以及计算等方法&#xff0c;得到的是函数在一些点上的函数值。如何通过这些离散数据找到函数的一个满足精度要求且便于使用的近似表达式&#xff0c;是经常…

linux文件在哪个分区,linux下肿么查看目录所在的分区

1、用df 命令查看查看目录所在分区&#xff0c;例如查看/var目录所在分区&#xff1a;[rootlocalhost var]# df -h /varFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg1-lvroot 51G 2.6G 46G 6% /mounted on 列下面就是所在的分区2、如果还想看磁盘分区情况&#x…