我可以在后端使用 Asana access_token 吗?

Can I use Asana access_token in the backend?

我有一个 Angular 应用程序作为前端客户端和一个 Rails 后端 API。我想访问 Asana 的 API 并希望通过 Angular 应用程序对其进行授权,因此我正在关注他们名为 Implicit Grant Flow 的 OAuth 流程。

授权过程后,我得到一个 access_token 但是当尝试在 Postman 上使用此代码时(为了测试我将在后端实现的 API 调用)我得到401,未授权代码。

有没有办法让用户通过 Angular 进行授权,然后将此 access_token 交换为永久 token/code 以在后端进行后续调用?

如果没有,我是否需要在每次需要访问 API 时都让用户授权?

编辑

这是我尝试将 access_token 与 Postman 一起使用的屏幕截图:

注意 我已经在授权该应用程序几分钟后在 Postman 上尝试了上述操作,所以我想令牌仍然有效。

我猜 access_token 在您开始测试之前就已经过期了。访问令牌是短暂的(Asana 访问令牌目前在一小时后过期)。如果不是这种情况,您能否 post 您向 Postman 提出的请求(已编辑机密)?

如果您想要长期授权,您应该使用 authorization code grant 来获取刷新令牌而不是访问令牌。然后,当您需要访问 API(Asana 客户端库隐式处理此问题)时,您可以将刷新令牌交换为临时访问令牌。