使用浏览器获取请求发送 JWT 令牌

ham*_*med 5 java authentication spring-security jwt

我正在开发一个 java spring 安全应用程序,我想使用Json Web Token(JWT)实现无状态身份验证。

如果是 ajax 请求,没有任何问题,我可以按以下格式在请求标头内发送生成的令牌:

Authorization: Bearer jwtHeader.jwtPayload.jwtSignature
Run Code Online (Sandbox Code Playgroud)

问题是发送GET带有点击<a>标签的请求。假设我有一个/my-orders负责获取普通 html 页面的 url,并且我想为经过身份验证的用户保护它。当用户点击链接或直接在浏览器地址栏中粘贴 api get url 时,他的请求总是失败,因为 get 请求中没有 jwt 令牌。

有没有办法通过浏览器 get 请求发送 jwt?

Nik*_*hil 0

在标签的每个链接中添加 jwt 作为查询参数。

例如我的订单

<a href="/my-orders?jwt=eyJhbGNiJ9.eyJzdWIiOiIwIsH0.KsKmQOZM-jcy4l_7NFsrWn">My Orders</a>
Run Code Online (Sandbox Code Playgroud)

并在后端期望 get 或 post 请求的查询参数中包含 jwt。