Пример #1
0
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})
Пример #2
0
    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
Пример #3
0
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)
Пример #4
0
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})
Пример #5
0
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})
Пример #6
0
    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
Пример #7
0
    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
Пример #8
0
def _totp(device, now):
    counter = int(now.timestamp() - device.t0) // device.step
    return hotp(device.bin_key, counter)
Пример #9
0
def otp():
    for counter in range(5):
        l = (hotp(key=secret_key, counter=counter, digits=6))
        return l
Пример #10
0
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
Пример #11
0
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")