当前位置: 首页>>代码示例>>Python>>正文


Python signals.user_logged_out方法代码示例

本文整理汇总了Python中django.contrib.auth.signals.user_logged_out方法的典型用法代码示例。如果您正苦于以下问题:Python signals.user_logged_out方法的具体用法?Python signals.user_logged_out怎么用?Python signals.user_logged_out使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在django.contrib.auth.signals的用法示例。


在下文中一共展示了signals.user_logged_out方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_delete_user_logged_out_signal

# 需要导入模块: from django.contrib.auth import signals [as 别名]
# 或者: from django.contrib.auth.signals import user_logged_out [as 别名]
def test_delete_user_logged_out_signal(self):
        """Send the user_logged_out signal if a user deletes their Auth Token."""
        handler = MagicMock()
        signals.user_logged_out.connect(handler)

        someday = timezone.now() + datetime.timedelta(days=1)
        user = UserFactory.create()
        token = AuthTokenFactory.create(user=user, expires=someday)

        # Custom auth header containing token
        auth = 'Token ' + token.key
        request = self.create_request(
            'delete',
            user=user,
            HTTP_AUTHORIZATION=auth,
        )
        response = self.view_class.as_view()(request)

        handler.assert_called_once_with(
            signal=signals.user_logged_out,
            sender=views.GetAuthToken,
            request=response.renderer_context['request'],
            user=user,
        ) 
开发者ID:incuna,项目名称:django-user-management,代码行数:26,代码来源:test_views.py

示例2: test_refresh_fails_for_already_signed_in_user

# 需要导入模块: from django.contrib.auth import signals [as 别名]
# 或者: from django.contrib.auth.signals import user_logged_out [as 别名]
def test_refresh_fails_for_already_signed_in_user(self, mock_random_string):
        mock_random_string.return_value = 'examplestring'

        # Mutable to log which users get logged out.
        logged_out_users = []

        # Register a signal on 'user_logged_out' so we can
        # update 'logged_out_users'.
        @receiver(user_logged_out)
        def logged_out(sender, user=None, **kwargs):
            logged_out_users.append(user)

        client = ClientWithUser()
        # First confirm that the home page is a public page.
        resp = client.get('/')
        # At least security doesn't kick you out.
        self.assertEqual(resp.status_code, 404)
        # Also check that this page doesn't force you to redirect
        # to authenticate.
        resp = client.get('/mdo_fake_view/')
        self.assertEqual(resp.status_code, 200)
        client.login(username=self.user.username, password='password')

        # Set expiration to some time in the past
        session = client.session
        session['oidc_id_token_expiration'] = time.time() - 100
        session['_auth_user_backend'] = 'mozilla_django_oidc.auth.OIDCAuthenticationBackend'
        session.save()

        # Confirm that now you're forced to authenticate again.
        resp = client.get('/mdo_fake_view/')
        self.assertEqual(resp.status_code, 302)
        self.assertTrue(
            'http://example.com/authorize' in resp.url and
            'prompt=none' in resp.url
        )
        # Now suppose the user goes there and something goes wrong.
        # For example, the user might have become "blocked" or the 2FA
        # verficiation has expired and needs to be done again.
        resp = client.get('/callback/', {
            'error': 'login_required',
            'error_description': 'Multifactor authentication required',
        })
        self.assertEqual(resp.status_code, 302)
        self.assertEqual(resp.url, '/')

        # Since the user in 'client' doesn't change, we have to use other
        # queues to assert that the user got logged out properly.

        # The session gets flushed when you get signed out.
        # This is the only decent way to know the user lost all
        # request.session and
        self.assertTrue(not client.session.items())

        # The signal we registered should have fired for this user.
        self.assertEqual(client.user, logged_out_users[0]) 
开发者ID:mozilla,项目名称:mozilla-django-oidc,代码行数:58,代码来源:test_middleware.py


注:本文中的django.contrib.auth.signals.user_logged_out方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。