def auth_login(self, request, **kwargs): if request.method != 'POST': return HttpResponse(json.dumps({"message":"method not allowed"}), content_type="application/json",status=401) try: load = json.loads(request.body) except: return HttpResponse(content_type="application/json", status=404) phone_number = load.get('phone_number') email_id = load.get('email_id') password = load.get('password') if not phone_number and not email_id and password: return HttpBadRequest("Phone Number/email_id and password required.") try: if phone_number: user_obj = afterbuy_model.Consumer.objects.get(phone_number =phone_number).user elif email_id: user_obj = afterbuy_model.Consumer.objects.get(user__email=email_id, is_email_verified=True).user http_host = request.META.get('HTTP_HOST', 'localhost') user_auth = authenticate(username=str(user_obj.username), password=password) if user_auth is not None: access_token = create_access_token(user_auth, user_obj.username, password, http_host) if user_auth.is_active: login(request, user_auth) data = {'status': 1, 'message': "login successfully", 'access_token': access_token, "user_id": user_auth.id} else: data = {'status': 0, 'message': "login unsuccessfull"} except Exception as ex: data = {'status': 0, 'message': "login unsuccessfull"} logger.info("[Exception get_user_login_information]:{0}". format(ex)) return HttpResponse(json.dumps(data), content_type="application/json")
def generate_access_token(self, request, consumer): http_host = request.META.get('HTTP_HOST', 'localhost') password = consumer.consumer_id+'@123' user_auth = authenticate(username=consumer.consumer_id, password=password) if user_auth is not None: try: access_token = create_access_token(user_auth, consumer.user.username, password, http_host) if user_auth.is_active: login(request, user_auth) data = {'status':1 , 'message':'success', 'access_token': access_token, 'consumer_id' : consumer.user.id} else: data = {'status': 0, 'message': "failure"} except Exception as ex: logger.info('Exception while generating access token {0}'.format(ex)) return data