我试图通过从React客户端向Flask服务器发送axios-get请求来获取用户数据。
这是我的获取请求:
axios.get("http://10.0.0.14:5000/users")
这是请求在发送到服务器之前经过的拦截器,并随JWT一起提供:
axios.interceptors.request.use(req=>
{
req.headers['x-access-token']=authSvr.getToken()
return req
})
这是 flask 中负责处理jwt的部分:
@app.before_request
def check_token():
auth_bl=AuthBL()
if "/auth" not in request.url:
if request.headers and request.headers.get('x-access-token'):
token = request.headers.get('x-access-token')
exist = auth_bl.verify_token(token)
if exist is None:
return make_response({"error" : "Not authorized"},401)
else:
return make_response({"error" : "No token provided"},401)
由于某些原因,当我打印请求头时,如print(request.headers)
,我看到的是:
Access-Control-Request-Method: GET
Access-Control-Request-Headers: x-access-token
Origin: http://localhost:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36
Sec-Fetch-Mode: cors
Referer: http://localhost:3000/
Accept-Encoding: gzip, deflate
正如您所看到的,我没有x-access-token密钥,而是作为密钥access-Control-Request-Headers的值发送的。
有人知道如何解决这个问题吗?谢谢
1条答案
按热度按时间368yc8dk1#
如果您使用无记名令牌,您可以尝试以下操作:
您可以通过头发送令牌