URL リダイレクトを要求すると、access_token を取得できず、常にログインにリダイレクトされます
// First route that user visits on consumer app
Route::get('/redirect', function () {
// Build the query parameter string to pass auth information to our request
$query = http_build_query([
'client_id' => 1,
'redirect_uri' => 'http://app_golf.xiongmaojf.com/callback',
'response_type' => 'code',
'scope' => 'crud-bookmark-collections crud-bookmark-tags crud-bookmarks'
]);
// var_export($query);
// Redirect the user to the vOAuth authorization page
return redirect('http://golf.xiongmaojf.com/oauth/authorize?' . $query);
});
// Route that user is forwarded back to after approving on server
Route::get('/callback', function (Request $request) {
$http = new GuzzleHttp\Client;
$response = $http->post('http://golf.xiongmaojf.com/oauth/token', [
'form_params' => [
'grant_type' => 'authorization_code',
'client_id' => 1, // from admin panel above
'client_secret' => 'LNJhtWdGsDTQmei9x4lAh2BBfOmQkqXG3jdOjGRL', // from admin panel above
'redirect_uri' => 'http://app_golf.xiongmaojf.com/callback',
'code' => $request->code // Get code from the
]
]);
return json_decode((string) $response->getBody(), true)['access_token'];
});
しかし、URL oauth/authorize をリクエストすると、トークンを取得できず、常にログインにリダイレクトされます。
私はログインしていないので、この問題を解決しました。申し訳ありませんが、ログインしたら、url oauth/authorize をリクエストします。常に、golf.xiongmaojf.com のユーザー名とパスワード、任意のユーザー名とパスワードが必要です。役に立たない、
キャンセルをクリックすると、応答がありました
{
"error": "invalid_client",
"message": "Client authentication failed"
}
新しい app_client use oauth/clients を reigster することでこの問題を解決し、このページを取得しました
access_token を取得しました