我正在开发一个java spring安全应用程序,我想用Json Web Token(JWT(实现无卫星身份验证。
在ajax请求的情况下,没有任何问题,我可以在请求头中以以下格式发送生成的令牌:
Authorization: Bearer jwtHeader.jwtPayload.jwtSignature
问题是在单击<a>
标签的情况下发送GET
请求。假设我有一个/my-orders
url,负责获取一个普通的html页面,并且我想为经过身份验证的用户保护它当用户点击链接或直接在浏览器地址栏中粘贴api get url时,他的请求总是失败,因为get请求中没有jwt令牌
有什么方法可以通过浏览器获取请求发送jwt吗?
使用XMLHttpRequest可以将Http标头添加到GET请求,但不能将Http标头添加到锚标记GET请求。
在标签的每个链接中添加jwt作为查询参数。
例如我的订单
<a href="/my-orders?jwt=eyJhbGNiJ9.eyJzdWIiOiIwIsH0.KsKmQOZM-jcy4l_7NFsrWn">My Orders</a>
在后台,在get或post请求的查询参数中期望jwt。