2017 © Pedro Peláez
 

library laravel-wechat-web

微信网站扫码登录

image

goodwong/laravel-wechat-web

微信网站扫码登录

  • Monday, August 28, 2017
  • by goodwong
  • Repository
  • 1 Watchers
  • 2 Stars
  • 5 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 7 Versions
  • 25 % Grown

The README.md

Laravel 5 Wechat Web

微信网站扫码登录, (*1)

注意: 本模块不依赖用户模块,数据表里的user_id可以由开发者通过事件关联到用户表 注意: 依赖overtrue/wechat作服务层, (*2)

特别注意:

因为微信扫码对浏览器没有判断能力(像钉钉扫码可以限制在UserAgent含有Dingtalk时显示), 建议在设置middleware时顺序放最后面, 比如放在goodowng/laravel-dingtalk-oauth后面, 因为dingtalk可以根据UserAgent判断是否符合钉钉扫码条件, 不符合钉钉再显示微信二维码,不容易冲突或者拦截掉本该显示钉钉二维码的场景。, (*3)

原理

  1. 当用户满足以下条件时,解析微信信息:, (*4)

    1. 未登录
    2. 非微信客户端
    3. url中有code参数时
  2. middleware解析该请求,获得该登录者微信信息;, (*5)

  3. 根据该微信信息,查找或创建WechatWebUser身份;, (*6)

  4. 若是新用户,则触发WebUserCreated($wechatWebUser)事件, (*7)

  5. 触发WebUserAuthorized($wechatWebUser)事件, (*8)

注意:本模块不会自动创建User用户,更不会自动登录。若有类似需求,需要监听以下事件并写相应逻辑的代码: - 监听WebUserCreated事件,创建User对象 - 监听WebUserAuthorized事件,进行登录用户的逻辑, (*9)

安装

  1. 安装依赖模块, (*10)

    composer require "goodwong/laravel-wechat-web"
    
  2. 打开config/app.php,在providers数组里注册服务:, (*11)

    // Application Service Providers...
    Goodwong\WechatWeb\WechatWebServiceProvider::class,
    
  3. 创建数据库表, (*12)

    php artisan migrate
    
  4. 设置 appid / appsecret 在.env文件中,增加下面内容:, (*13)

    WECHAT_WEB_APPID=
    WECHAT_WEB_SECRET=
    WECHAT_WEB_AUTO_REDIRECT=
    WECHAT_WEB_USE_SESSION=
    

OAuth 中间件

有两种方式设置中间件:, (*14)

  • 设置 middleware 在app/Http/Kernel.php里添加:, (*15)

    /**
     * The application's route middleware.
     *
     * These middleware may be assigned to groups or used individually.
     *
     * @var array
     */
    protected $routeMiddleware = [
    
        // ...
    
        'wechat_web_oauth' => \Goodwong\WechatWeb\Middleware\OAuthAuthenticate::class,
    ];
    
  • 直接在web.php的路由规则里添加:, (*16)

    // user auth
    Route::group([
        'middleware' => [
            \Goodwong\WechatWeb\Middleware\OAuthAuthenticate::class,
        ],
    ], function () {
        // ...
    });
    
    

配置

在.env文件中,配置以下信息:, (*17)

  • 微信平台, (*18)

    WECHAT_WEB_APPID=
    WECHAT_WEB_SECRET=
    

    这些信息可以在开放平台里注册获取, (*19)

  • 当用户未登录时,是否跳转路由到微信扫码登录网站?默认不跳转(由开发者自己发起跳转,或者在前端页面中显示二维码), (*20)

    WECHAT_WEB_AUTO_REDIRECT=true
    
  • 是否使用session缓存微信扫码结果?默认不缓存, (*21)

    WECHAT_WEB_USE_SESSION=0
    

The Versions

28/08 2017

dev-master

9999999-dev

微信网站扫码登录

  Sources   Download

MIT

The Requires

 

11/05 2017

v1.0.6

1.0.6.0

微信网站扫码登录

  Sources   Download

MIT

The Requires

 

10/05 2017

v1.0.5

1.0.5.0

微信网站扫码登录

  Sources   Download

MIT

The Requires

 

09/05 2017

v1.0.4

1.0.4.0

微信网站扫码登录

  Sources   Download

MIT

09/05 2017

v1.0.2

1.0.2.0

微信网站扫码登录

  Sources   Download

MIT

09/05 2017

v1.0.1

1.0.1.0

微信网站扫码登录

  Sources   Download

MIT

09/05 2017

v1.0.0

1.0.0.0

微信网站扫码登录

  Sources   Download

MIT