【问题标题】:Trello API authentication not giving a valid user tokenTrello API 身份验证未提供有效的用户令牌
【发布时间】:2017-04-11 16:12:00
【问题描述】:

我正在使用 Trello JS 客户端为用户获取令牌。但是,即使我没有在该浏览器中登录 Trello,它也会一直给我同样的令牌。

Trello.authorize({
   name: "Task Slayer",
   type: "popup",
   interactive: true,
   expiration: "never",
   success: function () { onTrelloAuthorizeSuccessful(); },
   scope: { write: true, read: true },
});

// Save the token after success call
function onTrelloAuthorizeSuccessful() {
   var token = Trello.token();
   $.get('https://api.trello.com/1/members/me/boards?key=' + TRELLO_CLIENT_KEY + '&token=' + token, {}, function(data){
      console.log(data);
   });
}

关于如何进行故障排除的任何想法?

【问题讨论】:

  • $.get 是否可能在调用Trello.authorize 成功回调之前执行?即在您的开发者工具控制台中,您在GET https://api.trello.com/ 启动之前还是之后看到Success! token? ...哦,TRELLO_CLIENT_KEYTRELLO_USER_TOKEN 变量是如何设置的?您的代码中没有任何迹象表明这些已被声明
  • @JaromandaX - 请假设这些变量可用。我可以看到它们正确地包含在开发人员工具的 AJAX 调用中。是的,在授权成功函数之后调用了 GET 函数。它在 ajax 调用中具有正确的用户密钥:/
  • 所以你是说TRELLO_USER_TOKEN 被设置为token?您已经确认它们是相同的?
  • 是的,我已确认将 TRELLO_USER_TOKEN 设置为身份验证返回的用户令牌。身份验证始终返回相同的令牌。我将更改这些 var 名称以明确说明...
  • 您是否尝试过使用 Postman 或 cURL 复制此内容?我想知道标题或来源是否会搞砸

标签: javascript trello


【解决方案1】:

问题在于 authorize() 方法有一个默认为 true 的参数“persist”。如果是真的,它会将返回的第一个令牌存储在本地存储中,之后不再实际进行身份验证。

所以我添加了persist: false,它开始工作了:)

【讨论】:

  • 打开弹出窗口后,我单击允许按钮,然后弹出窗口变为空白页面。在发生该注意之后..每次加载页面时都会发生弹出。
【解决方案2】:

将其添加到您的网址中:

&scope=read,write,account&response_type=token

点赞:https://trello.com/1/authorize?expiration=never&scope=read,write,account&response_type=token&name=YourAppName&key=YourKey

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 2017-06-24
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 2019-05-27
    相关资源
    最近更新 更多