javascript 如何在GET方法的HTML表单中设置Authorization头

yc0p9oo0  于 2023-04-19  发布在  Java
关注(0)|答案(1)|浏览(411)

我想向服务器提交一个HTML表单,该服务器接受queryString中的表单数据沿着Authorization头。然后,服务器在对数据和Authorization头执行一些计算后发回一个HTML文档。

限制条件

1.我不能使用JavaScript功能,如 AJAX 或fetch,因为表单提交得到一个HTML响应,需要在浏览器上打开。
1.由于内部原因,表单还需要使用GET方法。

响应

接收到的响应是一个HTML文档,其中包含JavaScript,其中包含sessionStorage.setItem('data', 'value'),其作用域为源。表单存在于 parent.example.com 源中,而接收到的HTML文档在 child.example.com 源中。因此,我们必须像HTML表单重定向一样转到 child.example.com 页面。

9rygscc1

9rygscc11#

客户端代码没有办法做到这一点。
最接近的方法是让服务器使用401 Unauthorized状态和WWW-Authenticate: Basic头来响应请求,这将导致浏览器使用其本机UI提示用户输入凭据,并在用户输入凭据后,使用Basic Auth格式添加Authorization重复请求。
正如Phil在评论中提到的,听起来你想要请求的URL并不是为了直接通过浏览器导航而设计的。
与其试图解决这个问题,不如将身份验证系统更改为其他系统(例如设置cookie以响应来自传统登录表单的提交)

相关问题