def authenticate(self, request: Request) -> Tuple[User, Any]:
"""
Get access token from request, try to find user with such access token.
Args:
request: Request with access_token query param / session key.
Returns:
Tuple of user and auth object (e.g. token or None).
"""
access_token = request.query_params.get('access_token', None) or \
request.session.get('access_token', None)
if not access_token:
raise exceptions.AuthenticationFailed('No access token passed')
try:
user = User.objects.get(access_token=access_token)
except User.DoesNotExist:
raise exceptions.AuthenticationFailed('No such user')
return user, None
评论列表
文章目录