繁体   English   中英

使用OAuth2 API时如何存储令牌

[英]How to store token when using OAuth2 API

我正在构建一个Angular前端应用程序,该应用程序使用来自Strava API的数据 我已经在Node和ExpressJS中构建了一个后端服务,该服务存储了我的客户端ID和客户端机密,并将用户重定向到Strava的身份验证页面,以便他们可以授予我的应用程序请求其数据的权限。

身份验证后,Strava将用户的访问令牌作为查询字符串参数将用户重定向回我的应用程序。 访问令牌需要随每个后续请求一起提交给API。

我想知道如何向API发出请求的利弊。 据我了解,我有以下选择:

  1. 将访问令牌客户端存储在cookie中,并从前端直接向Strava API提交请求。 由于具有相同的原始策略,因此需要使用JSONP来完成。 (Strava API支持JSONP)。

  2. 将访问令牌服务器端存储在我的节点应用程序的会话变量中,并通过节点服务器发出所有请求。 我将构建自己的API,以允许前端与节点应用程序进行通信。

每种方法的优缺点是什么?

对于任何不平凡的事情,服务器端方法都是必经之路。 构建自己的REST API可以为您提供更大的灵活性,并且可以帮助您解决问题-Angular应用程序可能不是使用大量REST API逻辑的最佳选择。

每个REST API提供程序都有其API的速率/配额限制。 因此,通过您的Angular应用程序实时向Strava API发出每个请求可能不是一个选择。 您可能需要创建某种后台工作程序服务,以在一定时间间隔上缓存Strava数据库中的所需数据。 然后,您可以在用户每次向您的网站发出请求时向用户显示缓存的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM