热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

laravel前后端分离获取微信授权,结合laravelwechat

开始之前,请一定仔细阅读微信开发者文档。文档中,总共写了几个步骤:1、通过appId和需要跳转的路由去请求授权2、授权之后跳转路由中返回的code注:前端只需要知道这两个步骤3、根据code获取access_token等
注:如下是laravel中间件中处理方式,session只用于这次请求,也可以将用户的微信信息放在request中到controller进行逻辑处理,看个人喜好
  public function handle($request, Closure $next, $scopes = null)
  {
         $wechatCacheKey = 'wechat.oauth_user.default';
            if (config("qa.mock_user") == 1){
                $user = new SocialiteUser(config('wechat.mock_user'));
            } else {
                $code = $request->get("code", "");
                if ($code === ""){
                    $appId = $this->config["app_id"];
                    return Response::toJson(["aid" => $appId], "请重新获取授权CODE!",10006);
                }
                // 开始拉取用户信息
                $app = Factory::officialAccount($this->config);
                $user = $app->oauth->user();
            }
            session([$wechatCacheKey => $user]);
        }
        return $next($request);
  }

注:这个例子只是写了授权的逻辑,token相关验证我已经做了剔除

坑点:

1、vue的路由会将code拼接在url和#之间,如www.****.com/?code=XXXXX/#/index,这个code需要单独处理

以上就是laravel前后端分离获取微信授权,结合laravel-wechat的详细内容,更多请关注其它相关文章!


推荐阅读
author-avatar
Mickey-洁de妈咪_212
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有