详解用vue.js和laravel实现微信授权登陆


Posted in Javascript onJune 23, 2017

在laravel框架我们使用安正超的package

网址:https://easywechat.org/

有专门的针对laravel的安装包,请参见如下网址:https://github.com/overtrue/laravel-wechat

下面来说说具体的安装:

1.安装package

composer require overtrue/wechat

2.在app/config/app.php 中注册 ServiceProvider

Overtrue\LaravelWechat\ServiceProvider::class,

3.创建配置文件

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

请修改应用根目录下的 config/wechat.php 中对应的项即可

4.添加外观到 config/app.php 中的 aliases 部分:

'wechat' => Overtrue\LaravelWechat\Facade::class,

5.添加路由

Route::any('/wechat', 'WechatController@serve');//控制器请按自己的实际情况填写

特别注意:因为laravel自带token验证,建议使用laravel-cors解决跨域问题,具体安装见github地址:https://github.com/barryvdh/laravel-cors

6.控制器添加如下代码:

/**
   * 处理微信的请求消息
   *
   * @return string
   */
  public function serve()
  {
    $wechat = app('wechat');
    $wechat->server->setMessageHandler(function($message){
      return "欢迎关注 overtrue!";
    });

    return $wechat->server->serve();
  }

7.配置好了路由和控制器,就得到了微信授权所需的URL,此时打开微信公众平台,在“开发—基本配置”页面,点击“修改配置”按钮,得到:

详解用vue.js和laravel实现微信授权登陆

修改配置页面

1) 将刚才的URL填入URL输入框内

2) token可自定义

3) EncodingAESKey 可随机生成

4) 消息加密用安全模式

8.在.env文件中配置以下参数

#微信配置,若不知道WECHAT_TOKEN和WECHAT_AES_KEY请继续往下看
WECHAT_APPID=
WECHAT_SECRET=
WECHAT_TOKEN=
WECHAT_AES_KEY=
#微信支付用
WECHAT_PAYMENT_MERCHANT_ID=
WECHAT_PAYMENT_KEY=

最后一步,填写完成后提交,微信将会调用此URL接口来验证,如果验证成功,就通过配置。

在公众平台,还有一项重要配置,如下:

在微信公众平台“接口权限”—“网页授权”—“网页授权域名”,填上服务器端域名(注:请仔细阅读平台上要求,特别注意得是,这里是服务器域名,不是客户端域名!)

接下来就可以实现微信授权登陆的功能了

10.在 app/Http/Kernel.php 中添加路由中间件:

protected $routeMiddleware = [
  // ...
  'wechat.oauth' => \Overtrue\LaravelWechat\Middleware\OAuthAuthenticate::class,
];

10.在路由中添加授权登陆的路由

Route::group(['middleware' => ['wechat.oauth']], function () {
  Route::get('/auth','UsersController@wechatAuth');
});

11.在以上路由相应的控制器中添加wechatAuth方法

public function wechatAuth(Request $request)
  {
    $userinfo = session('wechat.oauth_user')->original; // 拿到授权用户资料

    //这里写用户注册到mysql的相关逻辑代码,请自行补充

  }

12.在微信中打开此路由下的url就发现出现微信认证的界面,如未成功请自行检查你的配置和代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用js得到网页中所有的div的id
Oct 19 Javascript
jquery插件制作简单示例说明
Feb 03 Javascript
jQuery操作checkbox选择(list/table)
Apr 07 Javascript
jquery ajax局部加载方法详解(实现代码)
May 12 Javascript
JavaScript数组的栈方法与队列方法详解
May 26 Javascript
JavaScript常用判断写法大全(推荐)
May 30 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
Sep 26 Javascript
基于Vue插入视频的2种方法小结
Apr 02 Javascript
JavaScript实现随机点名程序
Mar 25 Javascript
vue如何使用外部特殊字体的操作
Jul 30 Javascript
springboot+VUE实现登录注册
May 27 Vue.js
妙用Angularjs实现表格按指定列排序
Jun 23 #Javascript
VUE中v-model和v-for指令详解
Jun 23 #Javascript
JavaScript正则表达式简单实用实例
Jun 23 #Javascript
js中的事件委托或是事件代理使用详解
Jun 23 #Javascript
JS判断非空至少输入两个字符的简单实现方法
Jun 23 #Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
Jun 23 #Javascript
微信小程序组件 marquee实例详解
Jun 23 #Javascript
You might like
小偷PHP+Html+缓存
2006/12/20 PHP
如何在PHP程序中防止盗链
2008/04/09 PHP
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
2015/03/16 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
AngularJS轻松实现双击排序的功能
2016/08/30 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
JavaScript递归操作实例浅析
2016/10/31 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
10个Python小技巧你值得拥有
2018/09/29 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
请用用Java代码写一个堆栈
2012/01/26 面试题
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
体育专业自荐书
2014/05/29 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
优秀班组长事迹
2014/05/31 职场文书
励志演讲稿200字
2014/08/21 职场文书
教师批评与自我批评
2014/10/15 职场文书
2014年文员工作总结
2014/11/18 职场文书
2014年项目工作总结
2014/11/24 职场文书