Easywechat对接

一、微信Oauth认证流程

授权码
https://open.weixin.qq.com/connect/oauth2/authorize?
appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE
#wechat_redirect

参数介绍:
appid:公众号的唯一标识 : 之前在测试平台申请的测试appid
redirect_uri: 授权后重定向回调地址:这个地址就是之前填写的域名下的具体项目的访问方法
response_type:参数就是code
scope:作用域
snsapi_base : 不弹出授权界面,直接跳转只能获取用户的openid
snsapi_userinfo:弹出授权界面,可以拿到用户的详细信息
我们填写 snsapi_userinfo
state: 不用在意系统自动带上的(微信自动生成一个字符串128字节的判断用
户的操作以及连接的有效性)
#wechat_redirect: 没有解释就是需要带上

  • 工作原理
    在这里插入图片描述

二、Easywechat

  1. 安装发布
# Laravel >= 5.8
composer require "overtrue/laravel-wechat:~5.0"
# 发布
php artisan vendor:publish --provider="Overtrue\LaravelWeChat\ServiceProvider"
  1. 路由打印
#打印出所绑定的所有服务
Route::get('/',function(){
	return app()->getBindings();
})
  1. 配置.env配置
#easywechat配置
WECHAT_OFFICIAL_ACCOUNT_APPID=	#微信appID
WECHAT_OFFICIAL_ACCOUNT_SECRET=	#微信appsecret
WECHAT_OFFICIAL_ACCOUNT_TOKEN=	#自定义 例如:hahah
WECHAT_OFFICIAL_ACCOUNT_OAUTH_CALLBACK=	#认证成功后回调地址
  1. 使用
//添加中间件的配置在 app/Http/Kernel.php 中添加路由中间件
protected $routeMiddleware = [
    // ...
    'wechat.oauth' => \Overtrue\LaravelWeChat\Middleware\OAuthAuthenticate::class,
];
Route::get('user', function(){
      $user = session('wechat.oauth_user.default'); // 拿到授权用户资料
      dd($user);
})->middleware('wechat.oauth');

注意:

  1. easywechat的数据通过session进行存储,而laravel的中间件中只有web默认执行StartSession中间件,所以进行api开发时需要开启session中间件
    在这里插入图片描述
    开启后在路由中进行使用
    在这里插入图片描述
  2. 本地ssl判别证书太旧,导致链接报错ssl证书不正确。
    2.1 下载最新的cacert.pem
    2.2 放在【:path\to\php\extras\ssl\cacert.pem】也就是php路径下的【extras\ssl\】文件夹里面。
    2.3 打开【php.ini】文件,找到最后面的【curl.cainfo = 】修改为【curl.cainfo =“E:\xampp\php\extras\ssl\cacert.pem”】,保存即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值