Asana API 个人访问令牌 return 401(未授权)

Asana API Personal Access Token return 401 (Unauthorized)

当我们访问 Asana API 时,我们将 Asana node client v0.15.0 与 Tampermonkey 脚本一起使用。 Api 正在响应 401(未授权)

这几天前就奏效了。我尝试使用新的个人访问令牌,但仍然遇到相同的错误。 在摆弄请求时,我试图将 auth-header Bearer 更改为小写。

Authorization: Bearer my-personal-access-token -> Authorization: bearer my-personal-access-token

这似乎工作正常,这表明 Asana 方面发生了一些变化。

node-asana js 客户端库不允许我在将请求发送到 Asana 之前修改它 API。

根据 Asana API support 我应该在 Whosebug 上寻求有关此事的帮助。

编辑

通过进一步调查,似乎当我们发送 cookie 时 auth_token=My auth token 我们确实遇到了 401 错误。但是如果删除 cookie 并在 fiddler 中重新发出请求,它就可以正常工作。

另一个注意事项是,现在我们在 https://app.asana.com/api/1.0/tasks/TaskId

的响应中没有得到任何 custom_fields

我是 Asana 的一名开发倡导者。您发现了一些已知问题,我们正在努力修复 :) 我们正在推出 a new version of our API。它旨在 backwards-compatible 与旧的实现一起使用,但为我们提供多种形式的身份验证是我们在两者之间做一些不同的事情的情况之一。

出于安全目的,我们最初在新版本中实现了这一点,以不允许具有多种身份验证形式的请求,但事实证明,in-browser 集成受到的影响正是您所看到的:被登录到 Asana,这会导致您的浏览器自动将请求的授权凭据发送到 asana.com,并且还使用 OAuth 或个人访问令牌为我们的 API 授权 "the right way" 最终会中断。我们正在努力解决这个问题,当登录的 (cookie) 用户和 API(访问令牌)用户相同时,它会起作用。

如果这是一个紧急问题,并且您希望在我们在更新的 API 实施中推出修复程序时强制执行旧行为,您可以设置 header 中所述link --^ 将您的请求强制到旧的 API。不过,一旦我们完全部署并稳定了新的 API,我们就会弃用 header,因此请谨慎依赖它作为 long-term 解决方案。

很抱歉这给您带来了问题,感谢您提出这个问题让我们知道!