使用cookie调用JWT保护Api

时间:2017-03-23 06:08:41

标签: authentication cookies web jwt

我有一个带有Web Api后端的SPA。 api调用在头文件中使用JWT进行身份验证。我试图解决的问题是如何使用XHR而不是使用window.open进行一个特定的api调用。我通过在调用之前将令牌保存到cookie并创建一个中间件来解决这个问题,该中间件只拦截一个路由的cookie并将其放入头部。所以JWT auth中间件可以做它的'事情。这个Api调用是一个GET路由,所以我不关心XSR问题。 这个“黑客”可能还有其他陷阱吗?

有点背景: api调用正在发回一个pdf流。我可以在新标签中打开它,没问题。但后来我遇到了各种特定于浏览器的问题 - Edge / IE不允许打开blob; Chrome,Safari需要一个允许弹出窗口的设置......并且有可能存在AdBlock。 FileSaver.js也提供了弹出窗口阻止功能。另一方面,只需打开一个Url就可以无处不在。对于观众(大多数计算机文盲),我认为这似乎是最好的解决方案。

1 个答案:

答案 0 :(得分:0)

我建议你在SPA上处理这条路线。并从前端发出XHR请求,而不是直接通过API后端处理它。