【问题标题】:Setup OAuth2 in Lumen在 Lumen 中设置 OAuth2
【发布时间】:2015-08-09 20:49:46
【问题描述】:

我关注了this 为我在Lumen 中编写的 API 设置 OAuth2 的文章。我完成了设置并实现了客户端,以便我可以测试它是否有效。我无法让它工作。当我单击“登录到 API”按钮时,它会向 http://myserver.com/login 发送一个 POST 并且它永远不会完成。它挂在这里,我没有任何异常或错误。此外,当它像这样挂起时,我不能只刷新页面。我必须在另一个港口提供服务,如果这是关于正在发生的事情的线索。我输出了一堆日志消息,我把问题缩小到了:

$guzzleResponse = $client->post(sprintf('%s/oauth/access-token', $config->get('app.url')), [
            'body' => $data
        ]);

我检查了参数,它们看起来不错。 $clientGuzzleHttp 客户。里面的 post 方法是这样的:

public function post($url = null, array $options = [])
{
    return $this->send($this->createRequest('POST', $url, $options));
}

我想我可能必须在 Lumen 中启用 cookie。我到哪里去找呢?有没有人有其他想法?

【问题讨论】:

  • 你能不能不加入 Laravel 的社交名流而不是自己动手?
  • 除非我弄错了,否则 Socailite 是供客户端从提供者(如 Github)进行身份验证的。就我而言,我是提供者,我需要一个 OAuth2 服务器来与其他人正在开发的客户端进行交互。

标签: php oauth oauth-2.0 lumen


【解决方案1】:

你检查过你的 .env 了吗?如果没有,请添加 AUTH_MODEL=App\Auth\User。

【讨论】:

    【解决方案2】:

    要启用 cookie,您可以在 .env 文件中执行此操作 -

    SESSION_DRIVER=cookie
    

    然后运行composer update 命令。

    【讨论】:

      【解决方案3】:

      有时 Guzzle 不适用于端口,例如 localhost:8888。如果您在某个端口上运行您的服务器,请将其更改为默认 80,然后 guzzle 将工作

      【讨论】:

        猜你喜欢
        • 2015-06-23
        • 1970-01-01
        • 2016-03-02
        • 1970-01-01
        • 1970-01-01
        • 2015-08-13
        • 1970-01-01
        • 2022-08-19
        • 2017-03-03
        相关资源
        最近更新 更多