从微信授权页面跳转回 laravel,获取不到已登录用户的信息

laravel 5.5
laravel-wechat:dev-master
需求:
扫描微信开放平台二维码后,页面会跳转到回调地址,
在回调地址指向的控制器方法中,
获取到已经登录网站的用户信息

代码:

class Open {
    public function serve() {
        file_put_contents('1.txt', \Auth::guard('admin')->user()->id);
         // 1.txt 这个文件可以生成,在/public 中,文件中的数据也是 user 的 id
         // 但是会报一个错:local.ERROR: Trying to get property of non-object
    }
}

尝试:
自己写了一个test.php来测试了一下:

header('location: http://example.com/open');

跳转过去,是可以输出user的信息的
挺奇怪的,在 laravel 中就不行,csrf 也加了白名单
在微信页面授权成功后,回到 serve() 就报错,怎样才能在授权回调的时候,正确获取到已登录用户的信息呢?
为什么 test.php 跳转就没问题,微信授权后的回调跳转却会报错?

阅读 3.8k
2 个回答

laravel 中,API 和 web 两个路由,使用的 session 是相互独立的

微信登录不是要获取code,换取accesstoken么

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题