auth.py 1.0 KB

1234567891011121314151617181920212223242526
  1. from userprofile.models import Users
  2. from rest_framework.exceptions import APIException
  3. class Authtication(object):
  4. def authenticate(self, request):
  5. token = request.META.get('HTTP_TOKEN')
  6. appid = request.META.get('HTTP_APPID')
  7. if token:
  8. if Users.objects.filter(openid__exact=str(token)).exists():
  9. from staff.models import ListModel as staff
  10. staff_detail = staff.objects.filter(openid__exact=str(token), appid__exact=str(appid)).first()
  11. if staff_detail:
  12. user = Users.objects.filter(name__exact=staff_detail.staff_name).first()
  13. return (True, user)
  14. else:
  15. user = Users.objects.filter(openid__exact=str(token)).first()
  16. return (True, user)
  17. else:
  18. raise APIException({"detail": "用户不存在"})
  19. else:
  20. raise APIException({"detail": "Please Add Token To Your Request Headers"})
  21. def authenticate_header(self, request):
  22. pass