Example #1
0
 def clean(self):
     """Test that the first code is correct"""
     data = super(GridCardActivationForm, self).clean()
     key = data.get("key")
     first_code = data.get("first_code")
     if not (key and first_code):
         return data
     seed = util.key_to_seed(key)
     if first_code != util.get_hotp(seed, 0):
         self._errors["first_code"] = self.error_class(["Invalid first code"])
         del data["first_code"]
     return data
Example #2
0
    def save(self):
        try:
            token = UserAuthToken.objects.get(user=self.user)
        except UserAuthToken.DoesNotExist:
            token = UserAuthToken(user=self.user)

        base36_with_checksum = self.cleaned_data["key"]
        seed = util.key_to_seed(base36_with_checksum)
        token.type = UserAuthToken.TYPE_HOTP
        token.reset_seed(seed)
        # Start at the second code
        token.counter = 1
        token.save()
Example #3
0
    def save(self):
        try:
            token = UserAuthToken.objects.get(user=self.user)
        except UserAuthToken.DoesNotExist:
            token = UserAuthToken(user=self.user)

        base36_with_checksum = self.cleaned_data["key"]
        seed = util.key_to_seed(base36_with_checksum)
        token.type = UserAuthToken.TYPE_HOTP
        token.reset_seed(seed)
        # Start at the second code
        token.counter = 1
        token.save()
Example #4
0
 def clean(self):
     """Test that the first code is correct"""
     data = super(GridCardActivationForm, self).clean()
     key = data.get("key")
     first_code = data.get("first_code")
     if not (key and first_code):
         return data
     seed = util.key_to_seed(key)
     if first_code != util.get_hotp(seed, 0):
         self._errors["first_code"] = self.error_class(
             ["Invalid first code"])
         del data["first_code"]
     return data