【发布时间】:2021-05-18 17:33:09
【问题描述】:
我已将 SimpleJWT access 和 refresh 令牌存储在 HttpOnly cookie 中。现在,如何在 refresh 令牌过期后重现 access 令牌?
在React 中,我使用setTimeout() 请求新的access 令牌,它工作得很好。现在我将这些存储为HttpOnly cookie,如何检查access 是否有效,如果无效,创建并发送一个新的access 令牌作为HttpOnly cookie?
我有这个中间件,我将 cookie 中的令牌添加到授权中间件,是否可以在任何此类中间件中更新令牌:
class AuthorizationHeaderMiddleware:
def __init__(self, get_response=None):
self.get_response = get_response
def process_view(self, request, view_func, view_args, view_kwargs):
view_name = '.'.join((view_func.__module__, view_func.__name__))
#print(view_name)
if view_name in EXCLUDE_FROM_MIDDLEWARE:
return None
def __call__(self, request):
access_token = request.COOKIES.get('access')
if access_token:
request.META['HTTP_AUTHORIZATION'] = f'Bearer {access_token}'
return self.get_response(request)
【问题讨论】:
标签: django django-rest-framework django-rest-framework-simplejwt cookie-httponly