Python django.contrib.auth.tokens.PasswordResetTokenGenerator() Examples
The following are 6
code examples of django.contrib.auth.tokens.PasswordResetTokenGenerator().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.contrib.auth.tokens
, or try the search function
.
Example #1
Source File: forms.py From zulip with Apache License 2.0 | 6 votes |
def generate_password_reset_url(user_profile: UserProfile, token_generator: PasswordResetTokenGenerator) -> str: token = token_generator.make_token(user_profile) uid = urlsafe_base64_encode(force_bytes(user_profile.id)) endpoint = reverse('django.contrib.auth.views.password_reset_confirm', kwargs=dict(uidb64=uid, token=token)) return f"{user_profile.realm.uri}{endpoint}"
Example #2
Source File: test_account_management.py From wagtail with BSD 3-Clause "New" or "Revised" License | 5 votes |
def setup_password_reset_confirm_tests(self): from django.utils.encoding import force_bytes, force_str from django.utils.http import urlsafe_base64_encode # Get user self.user = get_user_model().objects.get(username='test') # Generate a password reset token self.password_reset_token = PasswordResetTokenGenerator().make_token(self.user) # Generate a password reset uid self.password_reset_uid = force_str(urlsafe_base64_encode(force_bytes(self.user.pk))) # Create url_args if DJANGO_VERSION >= (3, 0): token = auth_views.PasswordResetConfirmView.reset_url_token else: token = auth_views.INTERNAL_RESET_URL_TOKEN self.url_kwargs = dict(uidb64=self.password_reset_uid, token=token) # Add token to session object s = self.client.session s.update({ auth_views.INTERNAL_RESET_SESSION_TOKEN: self.password_reset_token, }) s.save()
Example #3
Source File: views.py From hypha with BSD 3-Clause "New" or "Revised" License | 5 votes |
def valid(self, user, token): """ Verify that the activation token is valid and within the permitted activation time window. """ token_generator = PasswordResetTokenGenerator() return user is not None and token_generator.check_token(user, token)
Example #4
Source File: utils.py From hypha with BSD 3-Clause "New" or "Revised" License | 5 votes |
def send_activation_email(user, site=None): """ Send the activation email. The activation key is the username, signed using TimestampSigner. """ token_generator = PasswordResetTokenGenerator() token = token_generator.make_token(user) uid = urlsafe_base64_encode(force_bytes(user.pk)) activation_path = reverse('users:activate', kwargs={'uidb64': uid, 'token': token}) context = { 'user': user, 'name': user.get_full_name(), 'username': user.get_username(), 'activation_path': activation_path, 'timeout_days': settings.PASSWORD_RESET_TIMEOUT_DAYS, 'org_long_name': settings.ORG_LONG_NAME, } if site: context.update(site=site) subject = 'Account details for {username} at {org_long_name}'.format(**context) # Force subject to a single line to avoid header-injection issues. subject = ''.join(subject.splitlines()) message = render_to_string('users/activation/email.txt', context) user.email_user(subject, message, settings.DEFAULT_FROM_EMAIL)
Example #5
Source File: test_templates.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_PasswordResetConfirmView_valid_token(self): # PasswordResetConfirmView valid token client = PasswordResetConfirmClient() default_token_generator = PasswordResetTokenGenerator() token = default_token_generator.make_token(self.user) uidb64 = urlsafe_base64_encode(str(self.user.pk).encode()).decode() url = reverse('password_reset_confirm', kwargs={'uidb64': uidb64, 'token': token}) response = client.get(url) self.assertContains(response, '<title>Enter new password</title>') self.assertContains(response, '<h1>Enter new password</h1>')
Example #6
Source File: test_templates.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_PasswordResetConfirmView_valid_token(self): # PasswordResetConfirmView valid token client = PasswordResetConfirmClient() default_token_generator = PasswordResetTokenGenerator() token = default_token_generator.make_token(self.user) uidb64 = urlsafe_base64_encode(str(self.user.pk).encode()) url = reverse('password_reset_confirm', kwargs={'uidb64': uidb64, 'token': token}) response = client.get(url) self.assertContains(response, '<title>Enter new password</title>') self.assertContains(response, '<h1>Enter new password</h1>')