- 微信授权过程中的跳转问题(微信授权只能向一个确定前缀的域名进行跳转,来传递code),故多系统中同时需要同一个微信公众号授权登陆时产生问题。
- 微信定时获取accss_token问题,微信机制每隔一定时间(通常为2个小时)会要求程序刷新token,我们需要维护access token的定时刷新逻辑。
- 每次获取access_token之后,微信前端开发的js-ticket将会发生变化,此时将要重新计算js-ticket,并提供相应的controller来获取access token和ticket。
- WeixinGate部署的一个指定下之后,为所有应用提供code凭据跳转服务。
- WeixinGate会定时刷新公众号的access_token并计算ticket,并提供相应的接口供各个不同的项目获取。
- WeixinGate可以配置多个公众号,作为一个繁忙的转发维护系统。
- 快
- 单点故障,这个可以通过分布式集群来解决
- 安全性,理论上讲,只要公众号相应配置不在http协议中传输,即便获取相应的code或者access-token对系统的安全性影响不是很大(对此并不承诺)
- 配置.env
- 环境配置 https://lumen.laravel.com/docs/5.2/installation
- 数据库安装 php artisan migrate
- 计划任务 Cron entry you need to add to your server: 【* * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1】
- code凭据跳转 将所有应用的微信登录授权转发redirect_url改为http://weixingate.XXX.com/main/weixin/code_call_back,state改为应用标志(微信登陆成功会回带此参数) 配置数据库中的weixin_code_route,将state和route(即具体应用的登录逻辑路由) 即此功能为code凭据的二次转发
- 获取token和ticket接口(需提交weixin_id):http://weixingate.XXX.com/main/weixin/get_token_ticket
- 获取js-sign接口(需提交weixin_id和url):http://weixingate.XXX.com/main/weixin/get_sign
The framework is open-sourced software licensed under the MIT license
bigtomato dxywx@sina.com