【问题标题】:Chrome 80 handling HTTP 302 redirect and dropping query stringChrome 80 处理 HTTP 302 重定向和删除查询字符串
【发布时间】:2020-04-09 23:28:12
【问题描述】:

我正在尝试对通过 Auth0 进行身份验证的 SPA 应用程序进行故障排除,方法是首先重定向到他们的站点以提供凭据,然后重定向到其站点上的 /callback 路径,其中令牌包含在 URL 查询字符串中,最后重定向到 /我的应用程序的静态文件站点上的回调路径。就在昨天,我在 DevTools 中的 Network 选项卡中注意到,Chrome 获取 302 并将 location 标头设置为我的应用程序的 /callback 路径并包括查询字符串,但是当 Chrome 执行重定向时,它会删除查询字符串。这种行为似乎是最近才开始的,昨天是断断续续的,但今天是一致的。由于 302 重定向从 auth0.com 转到我的应用程序的域,这是一些新的跨站点安全功能吗?

以下是请求记录:

POST to https://my-app.auth0.com/login/callback with the token, etc. in the body.

Response is HTTP 302 with a location header like: https://myapp.com/callback#access_token=...

GET to https://myapp.com/callback

我在 Ubuntu Linux 上以隐身模式使用 Chrome 版本 80.0.3987.149(官方构建)(64 位)。任何帮助表示赞赏!

【问题讨论】:

    标签: google-chrome http http-status-code-302


    【解决方案1】:

    URL 的#access-token... 部分不是查询字符串,而是 URL 片段。浏览器保留它并将其应用于返回的页面内容。您可以从页面上的 JavaScript 访问此片段。这是 Auth0 用于单页应用的标准方法。

    【讨论】:

      猜你喜欢
      • 2018-09-06
      • 1970-01-01
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 2014-02-02
      相关资源
      最近更新 更多