Dropbox показывает ошибку при запросе токена доступа

Я работаю над приложением PHP, в которое мне нужно интегрировать Dropbox. Я делаю это в файле file1.php. Ниже приведен код:

require_once ("../dropbox-sdk/Dropbox/autoload.php");
use \Dropbox as dbx;
$appInfo = dbx\AppInfo::loadFromJsonFile("../dropbox-config.json");
$csrfTokenStore = new dbx\ArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token');
$webAuth = new dbx\WebAuth($appInfo, "MyApp", "https://example.net/app2/OAuthRedirectURI.php", $csrfTokenStore);
$authorizeUrl = $webAuth->start('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']."|".session_id());

Поскольку URI перенаправления не может быть динамическим, я указал URI перенаправления https://example.net/app2/RedirectURI.php,

В $webAuth->start() Метод, я отправил полный путь file1.php и идентификатор сессии. Это потому, что мне нужно перенаправить на file1.php из файла RedirectURI.php.

Ниже приведен код RedirectURI.php:

$stateArray = explode("|", $_GET['state']);
session_id($stateArray[2]);
session_start();
$_GET['state'] = $stateArray[0];
$_SESSION['DBX_AUTH_CODE_GET'] = $_GET;
header("location:".$stateArray[1]);

В RedirectURI.php я получаю код авторизации и отправленные параметры, разделенные символом канала. После создания сессии я помещаю массив $ _GET в сессию и перенаправляю в file1.php.

В file1.php ниже приведен код для получения токена доступа:

if(isset($_SESSION['DBX_AUTH_CODE_GET'])){
$x = $_SESSION['DBX_AUTH_CODE_GET'];
list($accessToken, $userId, $urlState) = $webAuth->finish($x);
echo "access token: " . $accessToken;
}

Но это показывает ошибку:

PHP fatal error in line 242 of file /var/www/html/example/public_html/app2/dropbox-sdk/Dropbox/WebAuth.php.
Uncaught exception 'Dropbox\WebAuthException_Csrf' with message 'Expected '6r9eW-MB82JxkJU9AE7u9g==', got 'KkgZk4491XEPhsn_14EObw=='.' in
/var/www/html/example/public_html/app2/dropbox-sdk/Dropbox/WebAuth.php:242nStack trace:n#0 /var/www/html/example/public_html/app2/pm/file1.php(40):
Dropbox\WebAuth->finish(Array)n#1 {main}n thrown

Я понятия не имею, почему это происходит.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector