tokenAuthentication.py 768 B

1234567891011121314151617181920
  1. from rest_framework.authentication import BaseAuthentication
  2. from rest_framework import exceptions
  3. from rest_framework.authtoken.models import Token
  4. import time
  5. from api.models import User
  6. class TokenAuthentication(BaseAuthentication):
  7. def authenticate(self, request):
  8. try:
  9. token = request.headers['Authorization'].replace("Token ", "")
  10. if Token.objects.filter(key=token).exists():
  11. user_id = Token.objects.filter(key=token).first().user_id
  12. user= User.objects.get(id=user_id)
  13. return (user, token)
  14. return None
  15. except Exception as error:
  16. print(error)
  17. raise exceptions.AuthenticationFailed("Failed pass authenticate")