注:
如下是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的详细内容,更多请关注其它相关文章!