2017-10-27 3 views
0
Error creating resource: [message] fopen(http://127.0.0.1:8000/oauth/token): failed to open stream: HTTP request failed! [file] /var/www/html/local/api-sample-application/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php [line] 324 

Ich bekomme diesen Fehler, wenn Sie versuchen, Laravel Passport-Authentifizierung zu implementieren.Passport Authedication Fehler in Laravel 5.5

Dies ist mein Code in Routen/web.php Inhalt:

Route::get('/redirect', function() { 
$query = http_build_query([ 
    'client_id'  => '3', 
    'redirect_uri' => 'http://127.0.0.1:8000/oauth/callback', 
    'response_type' => 'code', 
    'scope'   => '', 
]); 

return redirect('http://127.0.0.1:8000/oauth/authorize?' . $query); 

}); Strecke :: get ('/ oauth/Rückruf', function() {

$http = new GuzzleHttp\Client; 

if (request('code')) { 
    $response = $http->post('http://127.0.0.1:8000/oauth/token', [ 
     'form_params' => [ 
      'grant_type' => 'authorization_code', 
      'client_id'  => '3', 
      'client_secret' => 'H1UQCKVRARwASEJLR4ugGjBHHvFy34SCzSJFqQLL', 
      'redirect_uri' => 'http://127.0.0.1:8000/oauth/callback', 
      'code'   => request('code'), 
     ], 
    ]); 

    return json_decode((string)$response->getBody(), TRUE); 
} else { 
    return response()->json(['error' => request('error')]); 
} 

});

Wenn ich diese URL treffe, bekomme ich diesen Fehler, nicht in der Lage, das Token zu generieren.

Error message screenshot

Antwort

0

Ich hatte das gleiche Problem, und nach 1 Tag fand ich den Grund ...

Seit PHP integrierten Server Single-Threaded ist, auf dem Server eine andere URL anfordert erste wird halt Anfrage und es wird Zeit abgelaufen.

So können Sie localhost von localhost in demselben Thread nicht anfordern. 'Get' kommen öffentliche Server-Host 'http://www.example-host.com' ..

prüfen diese http://stackoverflow.com/a/25651196/916682

Sie können es einfach überprüfen, versuchen