【问题标题】:Set regular HTTP request headers from javascript从 javascript 设置常规 HTTP 请求标头
【发布时间】:2015-07-13 07:55:45
【问题描述】:

我正在尝试制作一个使用 json 网络令牌进行身份验证的多页网络应用程序。为单页应用程序使用 JWT 相当简单,因为您只需在 XHR 上设置标头并将其发送出去,但为常规浏览器请求设置标头似乎有些困难。

这里可以使用查询字符串,但最好使用标题。

是否可以从 javascript 设置常规浏览器请求标头?特别是 Authorization 标头。如果是这样,它是如何完成的?还是因为它会引入一些巨大的安全陷阱而被阻止?

【问题讨论】:

    标签: javascript authentication http-headers jwt


    【解决方案1】:

    “是否可以从 javascript 设置常规浏览器请求标头?”

    简短的回答。不。不适用于标准锚链接或表单提交行为。这是传统多页应用程序长期存在的“问题”。我在“问题”周围使用引号,因为...

    长答案。可能还有其他方法可以实现您的目标。

    1. 如果您进行表单提交样式的帖子并且 重定向。
    2. 使用 cookie 并在服务器上读取这些值,这 是许多基于会话的网络浏览器身份验证的工作方式。
    3. 通过 ajax 调用将帖子发送到资源 使用带有导航路线的成功消息对象返回响应 成功(也许是失败)。举个例子。你 可能会利用服务器响应代码(http 302) 等

    【讨论】:

    • 3 号是我想要做的。发布带有凭据的 XHR,成功返回 JWT 并将其存储在会话存储中,然后重定向到受保护的资源(简单)。使用 JWT(硬)的内容在重定向请求和后续请求中设置标头。还是根本不可能?
    • 将令牌放入 cookie 有什么缺点吗?因为这给了我想要的功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 2014-08-23
    • 2012-08-06
    • 2013-05-25
    • 2011-06-24
    • 2012-03-28
    相关资源
    最近更新 更多