如果单独用 code 请求会报 message": "参数错误,未获取用户信息没有 openid?

问答 gotophp ⋅ 于 1周前 ⋅ 最后回复由 gotophp 1周前 ⋅ 60 阅读

file

try {
            if ($code = $request->code) {
                $response = $driver->getAccessTokenResponse($code);
                $token = array_get($response, 'access_token');
            } else {
                $token = $request->access_token;

                if ($type == 'weixin') {
                    $driver->setOpenId($request->openid);
                }
            }
            $oauthUser = $driver->userFromToken($token);
    } catch (\Exception $e) {
            return $this->response->errorUnauthorized('参数错误,未获取用户信息');
    }

单独code 请求 后续也没有判断

file
命令行正常

本文章首发在 Laravel China 社区
成为第一个点赞的人吧 :bowtie:
回复数量: 4
  • liyu001989 MOD
    1周前

    请先跟着上一节在 tinker 中调试代码

    file

    其次一个 code 只能使用一次

    file

  • gotophp
    1周前

    试了 命令行测试没有问题 可以返回数据 但是携带code请求 直接报错

    file
    报异常

  • liyu001989 MOD
    1周前

    这个错就是无法通过 code 获取数据,命令行能调试成功,那么只能是code有问题,一个code只能使用一次。

    命令行中的代码和 controller 中的代码一样的,你加日志调试一下

  • gotophp
    1周前

    好的 谢谢大佬

暂无评论~~
您需要登陆以后才能留下评论!

Composer 中国全量镜像

Top 100 扩展包

Lumen 中文文档

Laravel 速查表

Laravel 中文文档

Laravel 项目开发规范

Laravel 开发环境部署

Elasticsearch-PHP 中文文档

Lumen 中文文档

GraphQL PHP 中文文档

社区文档撰写指南

TDD 构建 Laravel 论坛笔记

PHP PSR 标准规范

PHP 设计模式全集

Dingo API 中文文档