gpt4 book ai didi

redirect - 使用 Fetch API 重定向响应获取位置片段

转载 作者:行者123 更新时间:2023-12-02 22:03:33 26 4
gpt4 key购买 nike

我正在尝试获取 fetch API 请求的重定向响应位置片段。但如果可能的话,我不知道如何访问它。

上下文是我正在隐式流程中执行 OpenID Connect 请求,以生成 WebRTC 身份代理断言。OIDC 规范将请求的答案定义为:

When using the Implicit Flow, all response parameters are added to the fragment component of the Redirection URI

HTTP/1.1 302 Found Location: https://client.example.org/cb# access_token=SlAV32hkKG ...

因此,我在手动模式下使用 fetch 设置发出请求。但响应是一个不透明重定向过滤响应,它隐藏了位置 header 。 (https://fetch.spec.whatwg.org/#concept-filtered-response-opaque-redirect)

其他获取模式是错误和遵循,这没有帮助。虽然 XHR 自动遵循重定向,所以也没有帮助。我可能在 fetch API 中遗漏了一些东西,但它似乎是故意隐藏的。

有人可以给我一种访问此信息的方法(或确认这是不可能的)吗?

是否有任何替代 fetch 和 XHR 来发出此请求,这将允许访问重定向位置 header ?

最佳答案

fetch无法填充整个标准。一些显着的差异包括:

无法设置重定向模式。

请参阅 David Graham 对 Disable follow redirect 的评论:

这是对 Fetch API 的一个很好的补充,但我们无法使用 XMLHttpRequest 对其进行填充。浏览器在返回结果之前导航所有重定向,因此没有机会中断重定向流程。

我的解决方案:

1).第一个解决方案:我们从服务器发送 200 状态和重定向 url(在 http header 中),客户端基于此进行重定向。

2).第二种解决方案:服务器还可以使用 301 和重定向 url 重定向到。我认为,这是最好的解决方案(即如果我们考虑搜索引擎优化)。

关于redirect - 使用 Fetch API 重定向响应获取位置片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38834393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com