Фейсбук залогинится на symfony с sdk 5 - PullRequest
0 голосов
/ 24 августа 2018

Привет, ребята, мне нужна ваша помощь, я установил Facebook SDK с композитором в моем приложении, y создал систему входа в систему, на разработчику Facebook я добавил свой dev-домен на localhost https://devlocalhost.io и мой домен с производства, поэтому в localhost логирование работает нормально, но на производстве я получаю эту ошибку

Argument 3 passed to GuzzleHttp\Client::request() must be of the type array,   string given, called in /home/user/src/app/vendor/guzzlehttp/guzzle/src/Client.php on line 89

вот часть моего кода, на моем контроллере безопасности

 public function facebookCallback(Request $request,UserPasswordEncoderInterface $encoder)
{

    $fb = $this->facebook();
    $helper = $this->fHelper($fb);

    try {
        $accessToken = $helper->getAccessToken();
    } catch(Facebook\Exceptions\FacebookResponseException $e) {
        // When Graph returns an error
        echo 'Graph returned an error: ' . $e->getMessage();
        exit;
    } catch(Facebook\Exceptions\FacebookSDKException $e) {
        // When validation fails or other local issues
        echo 'Facebook SDK returned an error: ' . $e->getMessage();
        exit;
    }

    if (! isset($accessToken)) {
        if ($helper->getError()) {
            header('HTTP/1.0 401 Unauthorized');
            echo "Error: " . $helper->getError() . "\n";
            echo "Error Code: " . $helper->getErrorCode() . "\n";
            echo "Error Reason: " . $helper->getErrorReason() . "\n";
            echo "Error Description: " . $helper->getErrorDescription() . "\n";
        } else {
            header('HTTP/1.0 400 Bad Request');
            echo 'Bad request';
        }
        exit;
    }

    // Logged in


    try {
        // Returns a `Facebook\FacebookResponse` object
        $response = $fb->get('/me?fields=id,name,email,link,picture', $accessToken->getValue());
    } catch(Facebook\Exceptions\FacebookResponseException $e) {
        echo 'Graph returned an error: ' . $e->getMessage();
        exit;
    } catch(Facebook\Exceptions\FacebookSDKException $e) {
        echo 'Facebook SDK returned an error: ' . $e->getMessage();
        exit;
    }
      $user_info = $response->getGraphUser();
    //here i create the user on my app or check if the user exist

    }

Итак, вот мой личный метод для объекта Facebook и помощника

private function facebook()
{

    $fb = new Facebook([
        'app_id' => 'myapp-id', // Replace {app-id} with your app id
        'app_secret' => 'my-secret',
        'default_graph_version' => 'v3.1',
    ]);

    return $fb;
}
private function fHelper($fb)
{
    $helper = $fb->getRedirectLoginHelper();
    return $helper;
}

private function furlLogin()
{
    $fb = $this->facebook();
    $helper = $this->fHelper($fb);

    $permissions = ['email']; // Optional permissions
    //$loginUrl = $helper->getLoginUrl('https://devlocalhost.io/es/fb-callback/', $permissions);
    $loginUrl = $helper->getLoginUrl('https://my_domain.com/es/fb-callback/', $permissions);

    return $loginUrl;
}

Итак, на локальном хосте все работает нормально, но когда я выполнил развертывание в ветке, я установил зависимость от сервера и т. Д., Это выдает мне эту ошибку есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...