代码之家  ›  专栏  ›  技术社区  ›  Hammerbot

查询字符串中的auth令牌是简单get请求的唯一解决方案吗?

  •  1
  • Hammerbot  · 技术社区  · 8 年前

    我使用JWT对单页应用程序发出的请求进行身份验证和授权。

    在应用程序中导航期间,我使用XMLHttpRequest,以便能够设置头并使用如下标记:

    headers:
    Authorization: Bearer MyJWTToken
    

    然而,我有时 需要在该应用程序中下载受保护的文件 所以我必须提供这样一个链接,在这里我不能设置任何标题:

    <a target="_blank" href="/api/protected-uri?access_token=MyJWTToken">Download Invoice</a>
    

    我读到在查询字符串中使用令牌根本不安全,因为它可能以服务器日志或用户浏览器历史记录结尾。

    但是,我看不到其他的解决办法。这真的是个坏习惯吗?如何绕过这个问题?我应该使用浏览器cookies吗?

    0 回复  |  直到 8 年前
        1
  •  0
  •   animatedgif    6 年前

    我要做的(和已经做的)是链接到应用程序路由,然后将用户重定向到适当的目的地。这样可以避免在呈现的HTML页面中包含auth数据。