我正在使用我的应用程序中的 dropbox php sdk 我正在尝试使用以下代码访问核心 API
function getWebAuth()
{
$appInfo = dbxAppInfo::loadFromJsonFile("../dropbox.json");
$clientIdentifier = "My-demo-app/1.0";
$redirectUri = "http://localhost/demo.app/public/dropbox-finish-oauth";
$csrfTokenStore = new dbxArrayEntryStore($_SESSION, 'dropbox-auth-csrf-token');
return new dbxWebAuth($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 未找到异常
只是一个猜测,但请确保您在某个地方(每次页面加载时)都在做session_start()
。
如果不是这样,也许调试的下一步是手动设置会话变量并在另一个页面上读回它以验证会话存储是否正常工作。