如果请求中没有jwt,如何使用Flask jwt extended重定向

如果请求中没有jwt,如何使用Flask jwt extended重定向,flask,flask-jwt-extended,Flask,Flask Jwt Extended,如果用户没有使用JWT或使用了错误的JWT,是否有一种内置的方法重定向到登录页面 @api.route('/private', methods=['GET']) @jwt_required() def protected(): logged = get_jwt_identity() return jsonify(logged_in=logged), 200 最简单的解决方案可能是通过未经授权的\u加载器更改没有令牌时的行为。比如: @jwt.unauthorized\u loader

如果用户没有使用JWT或使用了错误的JWT,是否有一种内置的方法重定向到登录页面

@api.route('/private', methods=['GET'])
@jwt_required()
def protected():
  logged = get_jwt_identity()
  return jsonify(logged_in=logged), 200


最简单的解决方案可能是通过
未经授权的\u加载器
更改没有令牌时的行为。比如:

@jwt.unauthorized\u loader
def自定义\u未经授权的\u响应(\u错误):
返回重定向(url_用于('login'))
如果需要更细粒度的控制,可以在请求之前使用
,并在请求()中使用
验证。或者创建自己的自定义装饰器,例如:

def jwt_或_redirect():
def包装(fn):
@包装(fn)
def装饰器(*args,**kwargs):
验证请求中的jwt(可选=真)
如果未获取_jwt_identity():
返回重定向(url_用于('login'))
其他:
返回fn(*args,**kwargs)
返回装饰器
返回包装器

也许这将有助于@NishānWickramarathna我已经更改了
@jwt_required(可选=True)
并在没有传递正确的jwt时向响应添加重定向字段。但是我应该找到
@jwt\u required(重定向到='/login')
选项我不确定是否有内置方式。如果您想知道代码复制的问题,您可以始终使用
before\u request
功能。