使用 Passport 密码授予和/或 Guzzle 时服务器冻结

Bru*_*rez 5 laravel laravel-passport

我们正在将 Laravel 网站改造成 Laravel SPA,并在未来将其改造成使用 Web 应用程序的移动应用程序,因此我们需要某种 API 身份验证。为此,我们使用 Laravel Passport。

我一直在使用 Laravel 5.5 并遵循文档上的指南,但是当我尝试使用 postman 的新登录时,服务器冻结,HTTP 请求永远不会处理。

经过一些调试,我发现当我使用 Guzzle 发布到 /oauth/token 路由时,它崩溃了。但是当我使用 Postman 访问该路由时,没有问题。

这是我的代码:

    public function login(Request $request){
    $http = new Client();

    var_dump(1);
    //die
    $response = $http->post('http://localhost:8000/oauth/token', [  //Con postman esta ruta funciona
            'form_params' => [
            'grant_type' => 'password',
            'client_id' => env('PASSWORD-CLIENT_ID',2),
            'client_secret' => env('PASSWORD-CLIENT_SECRET',2),
            'username' => $request->username, //parece usar correo, no nombre de usuario
            'password' => $request->password,
            'scope' => '*',
        ],
    ]);

    var_dump(2);
    //die;
    return json_decode((string) $response->getBody(), true);
}
Run Code Online (Sandbox Code Playgroud)

这是 Guzzle 的问题,还是 Oauth/Passport 的问题?

小智 0

如果我通过 CLI 提供应用程序,也会发生同样的事情。我所做的是将我的开发更改为 homestead 或 xampp virtualhost,并且它有效。