1

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

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

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

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

编辑

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

在此处输入图像描述

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

4

1 回答 1

1

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

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

于 2016-08-31T12:59:57.037 回答