Ich versuche, oauth2 Server auf Laravel Passport zu erstellen und es von Drittanbieter-Anwendung zu testen. Oauth-Server verwenden Laravel und Client verwenden Yii-Framework. Ich bin nicht in der Lage, den Client-Frontend zu ändern, und ich erstellt eine Route/api/oauth/login, die den Antrag auf OAuth-Server weiterleitet:Laravel Passport oauth/Autorisieren returns basic auth
public function actionOauthLogin()
{
$query = http_build_query([
'client_id' => '12',
'client_secret' => '',
'redirect_uri' => 'http://client.loc/api/oauth/callback',
'response_type' => 'code',
'scope' => '',
]);
return $this->redirect('http://oauth-server.loc/oauth/authorize?' . $query);
}
Diese Methode Handhabung/api/oauth/Callback-Route:
public function actionOauthCallback()
{
$http = new Client();
$response = $http->post('http://oauth-server.loc/oauth/token', [
'form_params' => [
'grant_type' => 'authorization_code',
'client_id' => '3',
'client_secret' => 'TJDyfygkuga45rtyfj8&65567Yhhgjjjj',
'redirect_uri' => 'http://client.loc/api/oauth/callback',
'code' => Yii::app()->request->getParamFromRequest('code'),
],
]);
return json_decode((string) $response->getBody(), true);
}
Alle realisiert wie in der Dokumentation. Aber wenn ich/api/oauth/login öffne, wird die Weiterleitung an oauth-server.loc/oauth/authorize {params} weitergeleitet und ich sehe ein http-basiertes Auth-Fenster. WTF? Nginx hat keine solchen Einstellungen. Jemand weiß, was ich falsch mache? Hilf mir bitte.
Gestern habe ich installiert phpleague oauth2 Client auf Yii (http://oauth2-client.thephpleague.com/providers/implementing/). Aber das Ergebnis ist das Gleiche. – epod
Ich bekomme genau das gleiche Problem. Hast du eine Lösung gefunden? @epod – kirgy