Facebook PHP SDK - помощник по входу возвращает ошибку - PullRequest
0 голосов
/ 30 августа 2018

Я создал приложение, которое использует Facebook как возможность входа в систему. Мое приложение работало публично 1 день назад, но сегодня оно начало получать эту ошибку, когда мои пользователи входят в систему:

График возвратил ошибку: Невозможно загрузить URL: домен этого URL не включен в домены приложения. Чтобы иметь возможность загрузить этот URL-адрес, добавьте все домены и субдомены вашего приложения в поле «Домены приложения» в настройках приложения.

Мой код выглядит так:

<?php
require 'vendor/autoload.php';

if(!session_id()) {
    session_start();
}

// Setting a local setting
$fb = new Facebook\Facebook([
  'app_id' => '****',
  'app_secret' => '****',
  'default_graph_version' => 'v2.2',
  ]);

// Setting up the Facebook Helper
$helper = $fb->getRedirectLoginHelper();

//Genneration FaceBook Callback Script
$loginUrl = $helper->getLoginUrl('https://gymbilletter.dk/facebook/facebook_callback.php',array('scope' => 'email'));
header("Location: ".$loginUrl);

И я занес в белый список мой возвращаемый домен: Редакция ссылок OAuth Facebook

Я попытался найти ответы у интернированных, но единственные ответы, которые я получаю, - это обновить с 5.6.1 до 5.6.2, но я уже использую 5.6.3

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Привет, я столкнулся с той же проблемой здесь

https://stackoverflow.com/a/52096688/1234825

и попробовал другой подход

Кажется, что Facebook "не хватает" взломать свой собственный код. Включая enfore https, URL-адрес Validate OAuth больше не проверяется.

Я добавил следующий параметр в свой URL перенаправления, чтобы обойти выпуск

https://mysubdomain.mysite.gr/index.php?r=site/callbackfb&enforce_https=1
0 голосов
/ 30 августа 2018

Я сейчас работаю над Graph API версии v2.2

Если вы включаете Enforce HTTPS в настройках входа в Facebook.

Перейдите к вам facebook-php-sdk и внутри этого

Facebook\Helpers\FacebookRedirectLoginHelper.php

изменить $ redirectUrl:

$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl, ['state','code']);

К

$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl, ['state','code','enforce_https']);
...