ошибка dropbox php sdk Отсутствует токен CSRF в сеансе
Я использую dropbox php sdk для своего приложения, я пытаюсь получить доступ к базовому API, используя следующий код
function getWebAuth()
{
$appInfo = dbx\AppInfo::loadFromJsonFile("../dropbox.json");
$clientIdentifier = "My-demo-app/1.0";
$redirectUri = "http://localhost/demo.app/public/dropbox-finish-oauth";
$csrfTokenStore = new dbx\ArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token');
return new dbx\WebAuth($appInfo, $clientIdentifier, $redirectUri,$csrfTokenStore);
}
//My controller => http:://localhost/demo.app/public/dropbox
Route::get('dropbox',function(){
$authorizeUrl = getWebAuth()->start();
return Redirect::to($authorizeUrl);
});
//dropbox redirect uri
Route::get('dropbox-finish-oauth',function(){
list($accessToken, $userId, $urlState) = getWebAuth()->finish($_GET);
});
Все в порядке в первом контроллере, он перенаправляет на страницу входа в dropbox, я заполняю имя пользователя и пароль, а затем страница перенаправляется на указанный uri, и я получаю следующее исключение csrf не найдено исключение
3
Author: user2373881, 2013-12-22
1 answers
Просто предположение, но убедитесь, что вы делаете session_start()
где-то (при каждой загрузке страницы).
Если это не так, возможно, следующим шагом в отладке было бы вручную установить переменную сеанса и прочитать ее на другой странице, чтобы убедиться, что хранилище сеансов работает.
5
Author: smarx, 2013-12-22 19:22:53