laravel使用组件实现微信网页授权登入

admin3年前PHP教程96
laravel框架中的实现简单实现微信网页授权登入

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

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

参考组件地址:github/overtrue/laravel-wechat

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


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


然后开启natapp 再访问在routes/web.php中定义的user路由
natapp使用方法natapp/article/natapp_newbie

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

php artisan vendor:publish --provider="OvertrueLaravelWeChatServiceProvider"

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


模拟授权

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

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

use IlluminateSupportArr;use OvertrueSocialiteUser 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 网页授权:OvertrueLaravelWeChatEventsWeChatUserAuthorized
// 该事件有以下属性
$event->user; // 同 session(‘wechat.oauth_user.default") 一样
$event->isNewSession; // 是不是新的会话(第一次创建 session 时为 true)
$event->account; // 当前中间件所使用的账号,对应在配置文件中的配置项名称

开放平台路由支持
在配置文件 route 处取消注释即可启用。

"open_platform" => ["uri" => "serve","action" => OvertrueLaravelWeChatControllersOpenPlatformController::class,"attributes" => ["prefix" => "open-platform","middleware" => null,],],

授权方成功授权:OvertrueLaravelWeChatEventsOpenPlatformAuthorized
授权方更新授权:OvertrueLaravelWeChatEventsOpenPlatformUpdateAuthorized
授权方取消授权:OvertrueLaravelWeChatEventsOpenPlatformUnauthorized
开放平台推送 VerifyTicket:OvertrueLaravelWeChatEventsOpenPlatformVerifyTicketRefreshed
// 事件有如下属性
$message = $event->payload; // 开放平台事件通知内容
配置后 example/open-platform/serve 则为开放平台第三方应用设置的授权事件接收 URL。

更多 SDK 的具体使用请参考:easywechat

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

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

详解PHP服务器如何在有限的资源里最大提升并发能力

概述假设报考app是用5W rmb 向供应商采购,报名当天涌入海量考生,并发数飙升至30W+,导致系统宕机,拒绝服务,致使考生无法报名,那么5W rmb 能否支持30W+并发呢?不过对于我们来说,不妨...

显卡服务器适用场合美国显卡服务器适合哪些行业

显卡服务器又被称之为GPU服务器,简单来说显卡服务器是基于GPU,应用于视频编解码、深度学习、科学计算等多种场景的快速、稳定、弹性的计算服务;显卡服务器有着非常出色的图形处理能力,并且也具有高性能计算...

高性能的江苏BGP高防服务器租用怎么选择

高性能的江苏BGP高防服务器租用怎么选择?选择江苏地区的高性能BGP高防服务器租用需要考虑以下因素:1.优质的机房设施:选择机房设施完善,网络设备先进,机器配置高端的正规机房,能够提供更加稳定的网络环...

香港高防服务器100g防御适合做什么业务

香港高防服务器100g防御适合做什么业务?香港高防服务器100G防御能力非常强大,适合于需要高强度防护的业务。以下是一些可能适合使用100G防御能力的业务:游戏服务器:游戏服务器面临的网络攻击往往比较...

tp5使用layui实现多个图片上传(带附件选择)的方法实例

tp5使用layui实现多个图片上传(带附件选择),如何加载layui在此不详细说明,有需要可以百度html代码,主要处理都是在jq中,完成方法全部原创,也许不是最简单的,但也能实现效果?123456...

泉州高防服务器价格受哪些因素影响

泉州高防服务器价格受以下几个因素影响:1.高防服务器的规格和配置。不同的高防服务器规格和配置不同,价格也会相应不同。一般来说,规格和配置越高,价格也越贵。2.租用时间长度。租用时间长度越长,价格通常会...