【问题标题】:Calling JWT protected Api with a cookie使用 cookie 调用受 JWT 保护的 Api
【发布时间】:2017-08-15 13:24:37
【问题描述】:

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

一点背景: api 调用正在发回一个 pdf 流。我可以在新标签中打开它,没问题。但后来我面临各种特定于浏览器的问题——Edge/IE 不允许打开 blob; Chrome、Safari 需要一个允许弹出窗口的设置......并且有可能出现 AdBlock。 FileSaver.js 也提供弹出窗口阻止功能。另一方面,只要打开一个 URL 就可以在任何地方使用,没有例外。对于观众(主要是计算机文盲),我的目标是这似乎是最好的解决方案。

【问题讨论】:

    标签: authentication cookies web jwt


    【解决方案1】:

    我建议您在 SPA 中处理该路线。并从前端发出 XHR 请求,而不是直接由 API 后端处理。

    【讨论】:

    • 可能有点背景会更清楚。我将其添加到问题中
    • 我明白了。我认为在您的情况下,使用 url 参数传递访问令牌将是一个更好的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 2022-08-05
    • 2021-03-17
    • 2020-03-25
    • 2018-08-20
    • 1970-01-01
    • 2021-07-19
    相关资源
    最近更新 更多