我正在创建可以从Dropbox中获取文件和文件夹的应用程序,并将显示在网页中。我有以下代码。
$appInfo=new Dropbox\AppInfo($dropboxKey,$dropboxSecret);
//store CSRF token
$csrfTokenStore = new Dropbox\ArrayEntryStore($_SESSION,'dropbox-auth-csrf-token');
$webAuth = new Dropbox\WebAuth($appInfo,$appName,'path',$csrfTokenStore);
当我执行代码时出现以下错误:
致命错误:未捕获的异常'Dropbox \ WebAuthException_BadState',并显示消息'会话中缺少CSRF令牌。
答案 0 :(得分:0)
问题正在发生,因为会话中没有dropbox-auth-csrf-token
值。当您检查ArrayEntryStore文件时,您会发现有类似 get(),set(),clear()的函数。这里清除函数将取消设置csrf令牌。
你需要做的是你需要将csrf标记值存储在数据库中,并且当同一个用户需要获取值并将其传递给ArrayEntryStore
时,也需要这样做。