Коллеги, столкнулся с такой проблемой. Установил Laravel passport. Изменение фронта на клиенте (клиент на Yii) мне недоступно, поэтому для тестирования создал там роут (назовем его /api/oauth/login), с которого делаю переадресацию на oauth-server:
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);
}
По роуту /api/oauth/callback следующий код (строго по доке):
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);
}
И когда я захожу по урлу /api/oauth/login меня ожидаемо перекидывает на oauth-server.loc/oauth/authorize?{параметры} но там появляется окно basic auth. Откуда оно берется и зачем - не ясно. В настройках nginx никакой basic auth не настроен. Ну а если я нажимаю "отменить" в окне базовой авторизации, то oauth-server возвращает ошибку:
{"error":"invalid_client","message":"Client authentication failed"}
Вопрос: что я делаю не так и как надо?
Мне нужно получить ширину и высоту видео с помощью ffmpeg через shell_execКакую команду мне нужно для этого использовать?