会话中缺少 CSRF 令牌

Missing CSRF token in session

我正在创建可以从保管箱中获取文件和文件夹并将在网络上显示的应用程序 page.I 具有以下代码。

$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);

当我执行代码时出现以下错误:

Fatal error: Uncaught exception 'Dropbox\WebAuthException_BadState' with message 'Missing CSRF token in session.

问题的发生是因为 session.When 中没有 dropbox-auth-csrf-token 值 你检查 ArrayEntryStore 文件你就会知道有像 get(),set 这样的函数(),clear()。这里的 clear 函数将取消设置 csrf 令牌。

您需要做的是将 csrf 令牌值存储在数据库中,当同一用户需要获取该值并将其传递给 ArrayEntryStore 否则执行相同操作。