首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新生成的Dropbox令牌立即过期

新生成的Dropbox令牌立即过期
EN

Stack Overflow用户
提问于 2014-03-19 22:43:10
回答 1查看 1.3K关注 0票数 1

在这里我遇到了一个奇怪的问题,当我通过Dropbox获得令牌并尝试测试它时,就会抛出此消息的异常:

HTTP状态401 {“错误”:“给定的OAuth 2访问令牌不存在或已过期”}

为什么我一生成Dropbox令牌就过期了?

让我向您展示我的应用程序的流程:

用户看到这个屏幕:

它具有以下相关PHP代码:

代码语言:javascript
复制
require "../../includes/dropbox-sdk/Dropbox/autoload.php";
require "../../includes/config.php";
session_start();
session_regenerate_id();
$appInfo = Dropbox\AppInfo::loadFromJsonFile("../../includes/dropbox-sdk/Dropbox/app-info.json");
$webAuth = new Dropbox\WebAuthNoRedirect($appInfo, "Mignori-Box/1.0");

$authorizeUrl = $webAuth->start();

所以,我们用正式的SDK生成了一个Dropbox授权URL,看起来很好,用户可以看到这个屏幕:

他们点击允许,Dropbox给他们一个授权令牌,然后他们粘贴到我的网站,并提交它。这是处理表单的代码:

代码语言:javascript
复制
      try
      {
          $accessToken = $_POST['authorization_code'];

          $dbxClient = new Dropbox\Client($accessToken, "Mignori-Box/1.0");
          $accountInfo = $dbxClient->getAccountInfo();
      }catch(Exception $e)
      {
          echo "<div class=\"alert alert-danger\">";
          echo "<strong>An error has occurred.</strong><br>" . $e -> getMessage();
          echo "</div>";
      }

但是,无论令牌最近,当用户提交令牌时,将调用catch并显示警告。即使令牌是几秒钟前生成的,也会发生这种情况。

有人能告诉我怎么回事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-19 23:14:11

我忘记了将授权代码转换为访问令牌的步骤。

代码语言:javascript
复制
list($accessToken, $dropboxUserId) = $webAuth->finish($authCode);

换句话说,我确实使用了错误的标记。哈哈。最后一段代码应该是:

代码语言:javascript
复制
 try
  {
      list($accessToken, $dropboxUserId) = $webAuth->finish($_POST['authorization_code']);

      $dbxClient = new Dropbox\Client($accessToken, "Mignori-Box/1.0");
      $accountInfo = $dbxClient->getAccountInfo();
  }catch(Exception $e)
  {
      echo "<div class=\"alert alert-danger\">";
      echo "<strong>An error has occurred.</strong><br>" . $e -> getMessage();
      echo "</div>";
  }
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22519721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档