def superuser_token(request): hour_now, min_now = str(strftime("%H:%M", localtime())).split(":") course_list = [] get_course_id = Profile.objects.get(user=request.user) all_courses = Courses.objects.all() for i in all_courses: key = bytes(random.randint(1000000, 99999999)) for k in range(1): token = hotp(key=key, counter=k, digits=6) if len(str(token)) < 10: token = (10 - len(str(token))) * \ str(random.randint(1, 9)) + str(token) course_list += ([i.course_name, i.course_token, token]) token_cache = int(token) if get_course_id.is_trainer: get_course_id = get_course_id.course_id else: token = "ACCESS DENIED" if request.user.is_superuser: token = int(token_cache) token = str(token) + str(hour_now) + str(min_now) get_course_token = Courses.objects.filter( course_name=get_course_id).update(course_token=token) if request.user.is_superuser: get_course_token = Courses.objects.all().update(course_token=token) return render(request, 'auth.html', {"token": token})
def verify_token(self, token): verify_allowed, _ = self.verify_is_allowed() if not verify_allowed: return False try: token = int(token) except Exception: verified = False else: key = self.bin_key for counter in range(self.counter, self.counter + self.tolerance + 1): if hotp(key, counter, self.digits) == token: verified = True self.counter = counter + 1 self.throttle_reset(commit=False) self.save() break else: verified = False if not verified: self.throttle_increment(commit=True) return verified
def signup_form(request): if request.method == "POST": data = json.loads(request.body) CustomUser(first_name=data['first_name'], last_name=data['last_name'], email=data['email'], phone_number=data['phone_number']).save() print(hotp(key=settings.OTP_SECRET_KEY, counter=1, digits=7)) return HttpResponse(request.body)
def generate_token(request): key = bytes(random.randint(1000000, 99999999)) for i in range(1): token = hotp(key=key, counter=i, digits=6) if len(str(token)) < 6: token = (6 - len(str(token))) * str(random.randint(1, 9)) + str(token) get_course_id = Profile.objects.get(user=request.user, is_trainer=True).course_id get_course_token = Courses.objects.filter( course_name=get_course_id).update(course_token=token) return render(request, 'auth.html', {"token": token})
def generate_token(request): hour_now, min_now = str(strftime("%H:%M", localtime())).split(":") key = bytes(random.randint(1000000, 99999999)) for i in range(1): token = hotp(key=key, counter=i, digits=6) token = str(token) + str(hour_now) + str(min_now) if len(str(token)) < 10: token = (10 - len(str(token))) * \ str(random.randint(1, 9)) + str(token) get_course_id = Profile.objects.get(user=request.user) if get_course_id.is_trainer: get_course_id = get_course_id.course_id else: token = "ACCESS DENIED" get_course_token = Courses.objects.filter( course_name=get_course_id).update(course_token=token) return render(request, 'auth.html', {"token": token})
def verify_token(self, token): try: token = int(token) except Exception: verified = False else: key = self.bin_key for counter in range(self.counter, self.counter + self.tolerance + 1): if hotp(key, counter, self.digits) == token: verified = True self.counter = counter + 1 self.save() break else: verified = False return verified
def _totp(device, now): counter = int(now.timestamp() - device.t0) // device.step return hotp(device.bin_key, counter)
def otp(): for counter in range(5): l = (hotp(key=secret_key, counter=counter, digits=6)) return l
from django.shortcuts import render, redirect from django_otp.oath import hotp from .models import Courses,Profile,Check,Site import random from time import localtime, strftime def generate_token(request): if request.method = 'POST': key = bytes(random.randint(1000000,99999999)) for i in range(1): token = hotp(key=key, counter=i, digits=6) if len(str(token)) < 6: token = (6 - len(str(token))) * str(random.randint(1, 9)) + str(token) get_course_id = Profile.objects.get(user=request.user,is_trainer=True).course_id get_course_token = Courses.objects.filter(course_name=get_course_id).update(course_token=token) return render(request, 'auth.html', {"token": token}) def stundent_check(request): main_site_name = "2018 kamp" get_start_time = Site.objects.get(is_active=True,name=main_site_name).course_start get_total_morning_date = float(Site.objects.get(is_active=True, name=main_site_name).total_morning_date) get_total_afternoon_date = float(Site.objects.get(is_active=True, name=main_site_name).total_afternoon_date) def calucate_time(time): try: start_hour, start_min = str(get_start_time).split(":") except TypeError: return ("Fatal Error... ") if time == "evening": find_time = int(start_hour) + get_total_morning_date + get_total_afternoon_date
def signup(request): for counter in range(5): print(hotp(key=settings.OTP_SECRET_KEY, counter=counter, digits=6)) return render(request, "dashboard/index.html")