Ich habe ein Problem bekommen, wenn ich access_token von OAuth2 Server bekommen habe. Ich verwende Curl in PHP die access_token zu bekommen, aber es scheiterte und zurück:curl in PHP, um access_token zu erhalten OAuth2 return error: "invalid_client"
error: "invalid_client",
error_description: "Client authentication failed."
Das seltsame ist, wenn ich die Locke von Eingabeaufforderung verwenden:
curl -d "client_id=f3d259ddd3ed8ff3843839b&client_secret=4c7f6f8fa93d59c45502c0ae8c4a95b&redirect_uri=http://application.dev/oauth/handle&grant_type=authorization_code&code=rZCQQBXVSQqKi2IRro1gYkSsRhyUcLsNODACjwPw" http://oauth-server.dev/oauth/access_token
es Erfolg und Rückkehr der access_token:
"access_token":"fI7APDRZygrsF1BiegAQCS1yUT8vnm1LgD5bIu2U",
"token_type":"Bearer",
"expires_in":3600
ich verwende Laravel 5.2 und hier ist mein Code von OAuth Server zu handhaben access_token zu erhalten:
public function getOAuthHandle(Request $request){
$url = 'http://oauth-server.dev/oauth/access_token';
$code = $request->code;
$client_id = 'f3d259ddd3ed8ff3843839b';
$client_secret = '4c7f6f8fa93d59c45502c0ae8c4a95b';
$redirect_uri = 'http://application.dev/oauth/handle';
$clienttoken_post = array(
"code" => $code,
"client_id" => $client_id,
"client_secret" => $client_secret,
"redirect_uri" => $redirect_uri,
"grant_type" => "authorization_code"
);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $clienttoken_post);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$json_response = curl_exec($curl);
curl_close($curl);
return $json_response;
}
Ich habe versucht, ein anderes Skript aus dem Internet und Stackoverflow und Apache und PHP neu starten, aber es funktioniert immer noch nicht.
Gibt es eine Möglichkeit, dieses Problem zu lösen? Was soll ich überprüfen?
Vielen Dank für Ihre Hilfe und Antwort.
Haben Sie versucht, grant_type in curl-Headern hinzuzufügen? –
Nein. Ich habe das nicht versucht. Wie geht das? –