我正在我的React / Redux(或其他基于Flux的状态管理)应用程序中实现OAuth,而且我正努力寻找各种access_token扩展方法的“优缺点”的良好信息。
1)拦截401响应
一种选择是拦截API请求(例如,使用“ fetch-intercept”包)并检测任何401 HTTP代码响应。
在401的情况下,我们构建逻辑以检索新的access_token,然后重播先前的请求。
优点
2)在API调用时检测到过时的access_token
另一种方法是在发送任何请求时,对我们的access_token进行解码,并检查是否需要尽快刷新它(如果需要的话)。
再次使用某种中间件将是此解决方案的最佳选择。我们可以截获所有动作,并且在分派它之前首先检查我们是否有一个有效的access_token。
优点
缺点
3)轮询方法
登录后,查看令牌到期前需要多长时间,并设置超时时间以刷新access_token之前
优点
对于每种方法的任何其他选项或优点与缺点,我们将不胜感激,也许我可以在这里为那些入门的人创建详尽的清单