【发布时间】:2019-08-31 17:53:41
【问题描述】:
我的 Angular 4 应用程序一个接一个地向受 OAuth2 保护的 API 发送多个请求,当请求失败并显示 401 状态码时,我面临问题,我需要生成一个新的访问令牌并重新向 API 发起相同的请求,并将响应返回给正在等待它的方法。
1-所有请求一个接一个地失败-因此,为了保持其他请求继续进行,我添加了一个循环,该循环在令牌生成过程中保存到达服务器的请求
2-为了发起请求,我在块中再次添加了next.handle(request)行但没有工作,然后我尝试调用this.intercept(request,next)方法,即使它没有工作,之后我添加的最后一种方法是重新处理请求在错误块中,因此现在拦截方法的代码如下所示,但后来我意识到即使我重试处理请求,该请求也没有得到进一步处理。有几个教程只是简单地建议next.handle(request),但在我的情况下它并没有按预期工作。
只有我成功处理了失败请求之后的请求,因为在此之前会生成新的访问令牌,但失败的请求会直接丢弃。
请看link中的代码流程!
我已经花了很多时间在调试上
【问题讨论】:
标签: angular oauth-2.0 angular-http-interceptors