Beispiel #1
0
    def test_generate_token_generator_from_empty_settings(self):
        """
        If there is no setting for DJANGO_REST_PASSWORDRESET_TOKEN_CONFIG, a RandomStringTokenGenerator should
        be created automatically by get_token_generator()
        :return:
        """
        # patch settings
        settings.DJANGO_REST_PASSWORDRESET_TOKEN_CONFIG = None

        token_generator = get_token_generator()

        self.assertEquals(
            token_generator.__class__, RandomStringTokenGenerator,
            msg="If no class is set in DJANGO_REST_PASSWORDRESET_TOKEN_CONFIG, a RandomStringTokenGenerator should"
                "be created"
        )
Beispiel #2
0
    def test_generate_token_generator_from_settings_string_token_generator(self):
        """
        Checks if the get_token_generator() function uses the "CLASS" setting in DJANGO_REST_PASSWORDRESET_TOKEN_CONFIG
        :return:
        """
        # patch settings
        settings.DJANGO_REST_PASSWORDRESET_TOKEN_CONFIG = {
            "CLASS": "django_rest_passwordreset.tokens.RandomStringTokenGenerator"
        }

        token_generator = get_token_generator()

        self.assertEquals(
            token_generator.__class__, RandomStringTokenGenerator,
            msg="get_token_generator() should return an instance of RandomStringTokenGenerator "
                "if configured in settings"
        )
Beispiel #3
0
 def generate_key():
     """ generates a pseudo random code using os.urandom and binascii.hexlify """
     return get_token_generator().generate_token()
Beispiel #4
0
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth import get_user_model

from django_rest_passwordreset.tokens import get_token_generator

# Prior to Django 1.5, the AUTH_USER_MODEL setting does not exist.
# Note that we don't perform this code in the compat module due to
# bug report #1297
# See: https://github.com/tomchristie/django-rest-framework/issues/1297

AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User')

# get the token generator class
TOKEN_GENERATOR_CLASS = get_token_generator()

__all__ = [
    'ResetPasswordToken',
    'get_password_reset_token_expiry_time',
    'get_password_reset_lookup_field',
    'clear_expired',
]


@python_2_unicode_compatible
class ResetPasswordToken(models.Model):
    class Meta:
        verbose_name = _("Password Reset Token")
        verbose_name_plural = _("Password Reset Tokens")
Beispiel #5
0
 def generate_key():
     return get_token_generator().generate_token()
Beispiel #6
0
 def generate_code():
     return get_token_generator().generate_token()