Beispiel #1
0
def login_view(request):
    if request.method == 'POST':
        form = LogInForm(request.POST)
        # print(form)
        if form.is_valid():
            data = {
                'email': form.cleaned_data['emailid'],
                'password': form.cleaned_data['user_password']
            }
            user_data = Register.objects.get(email__exact=data.get('email'))
            if user_data.check_password(data.get('password')) == True:
                response = HttpResponseRedirect(reverse('homePage'))
                data = {
                    'last_login': datetime.datetime.now(datetime.timezone.utc)
                }
                for key, val in data.items():
                    setattr(user_data, key, val)
                user_data.save()
                access_token = get_access_token(user_data)
                refresh_token = get_refresh_token(user_data)
                response.set_cookie(key='refreshtoken',
                                    value=refresh_token,
                                    httponly=True)
                response.set_cookie(key='accesstoken',
                                    value=access_token,
                                    httponly=True)
                response.data = {
                    "token": access_token,
                    "username": user_data.user_name
                }
                return response
            else:
                pass
        else:
            pass
    else:
        form = LogInForm()
    return render(request, 'login.html', {'form': form})