本文整理汇总了Python中tastypie.authentication.MultiAuthentication.is_authenticated方法的典型用法代码示例。如果您正苦于以下问题:Python MultiAuthentication.is_authenticated方法的具体用法?Python MultiAuthentication.is_authenticated怎么用?Python MultiAuthentication.is_authenticated使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tastypie.authentication.MultiAuthentication
的用法示例。
在下文中一共展示了MultiAuthentication.is_authenticated方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_apikey_and_basic_auth
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_apikey_and_basic_auth(self):
auth = MultiAuthentication(BasicAuthentication(), ApiKeyAuthentication())
request = HttpRequest()
john_doe = User.objects.get(username='johndoe')
# No API Key or HTTP Basic auth details should fail.
self.assertEqual(isinstance(auth.is_authenticated(request), HttpUnauthorized), True)
# Basic Auth still returns appropriately.
self.assertEqual(auth.is_authenticated(request)['WWW-Authenticate'], 'Basic Realm="django-tastypie"')
# API Key Auth works.
request = HttpRequest()
request.GET['username'] = 'johndoe'
request.GET['api_key'] = john_doe.api_key.key
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), 'johndoe')
# Basic Auth works.
request = HttpRequest()
john_doe = User.objects.get(username='johndoe')
john_doe.set_password('pass')
john_doe.save()
request.META['HTTP_AUTHORIZATION'] = 'Basic %s' % base64.b64encode('johndoe:pass'.encode('utf-8')).decode('utf-8')
self.assertEqual(auth.is_authenticated(request), True)
示例2: test_apikey_and_authentication_enforce_user
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_apikey_and_authentication_enforce_user(self):
session_auth = SessionAuthentication()
api_key_auth = ApiKeyAuthentication()
auth = MultiAuthentication(api_key_auth, session_auth)
john_doe = User.objects.get(username="johndoe")
request1 = HttpRequest()
request2 = HttpRequest()
request3 = HttpRequest()
request1.method = "POST"
request1.META = {"HTTP_X_CSRFTOKEN": "abcdef1234567890abcdef1234567890"}
request1.COOKIES = {settings.CSRF_COOKIE_NAME: "abcdef1234567890abcdef1234567890"}
request1.user = john_doe
request2.POST["username"] = "janedoe"
request2.POST["api_key"] = "invalid key"
request3.method = "POST"
request3.META = {"HTTP_X_CSRFTOKEN": "abcdef1234567890abcdef1234567890"}
request3.COOKIES = {settings.CSRF_COOKIE_NAME: "abcdef1234567890abcdef1234567890"}
request3.user = john_doe
request3.POST["username"] = "janedoe"
request3.POST["api_key"] = "invalid key"
# session auth should pass if since john_doe is logged in
self.assertEqual(session_auth.is_authenticated(request1), True)
# api key auth should fail because of invalid api key
self.assertEqual(isinstance(api_key_auth.is_authenticated(request2), HttpUnauthorized), True)
# multi auth shouldn't change users if api key auth fails
# multi auth passes since session auth is valid
self.assertEqual(request3.user.username, "johndoe")
self.assertEqual(auth.is_authenticated(request3), True)
self.assertEqual(request3.user.username, "johndoe")
示例3: test_multiauth_apikey_and_basic_auth__basic_returns_authenticate
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_multiauth_apikey_and_basic_auth__basic_returns_authenticate(self):
auth = MultiAuthentication(BasicAuthentication(), ApiKeyAuthentication())
request = HttpRequest()
self.assertEqual(
auth.is_authenticated(request)['WWW-Authenticate'],
'Basic Realm="django-tastypie"'
)
示例4: test_multiauth_apikey_and_basic_auth__api_key_works_in_header
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_multiauth_apikey_and_basic_auth__api_key_works_in_header(self):
auth = MultiAuthentication(BasicAuthentication(), ApiKeyAuthentication())
request = HttpRequest()
john_doe = User.objects.get(username='johndoe')
request.META['HTTP_AUTHORIZATION'] = 'ApiKey %s:%s' % (john_doe.username, john_doe.api_key.key,)
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), john_doe.username)
示例5: test_multiauth_apikey_and_basic_auth__api_key_works_in_query
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_multiauth_apikey_and_basic_auth__api_key_works_in_query(self):
auth = MultiAuthentication(BasicAuthentication(), ApiKeyAuthentication())
request = HttpRequest()
john_doe = User.objects.get(username='johndoe')
request.GET['username'] = john_doe.username
request.GET['api_key'] = john_doe.api_key.key
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), john_doe.username)
示例6: test_multiauth_apikey_and_basic_auth__basic_auth_works
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_multiauth_apikey_and_basic_auth__basic_auth_works(self):
auth = MultiAuthentication(BasicAuthentication(), ApiKeyAuthentication())
request = HttpRequest()
john_doe = User.objects.get(username='johndoe')
john_doe.set_password('pass')
john_doe.save()
request.META['HTTP_AUTHORIZATION'] = 'Basic %s' % base64.b64encode('johndoe:pass'.encode('utf-8')).decode('utf-8')
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), john_doe.username)
示例7: test_multiauth_apikey_and_basic_auth__api_key_works_in_header__space_in_username
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_multiauth_apikey_and_basic_auth__api_key_works_in_header__space_in_username(self):
auth = MultiAuthentication(BasicAuthentication(), ApiKeyAuthentication())
request = HttpRequest()
john_doe = User.objects.get(username="johndoe")
john_doe.username = "john doe"
john_doe.save()
request.META["HTTP_AUTHORIZATION"] = "ApiKey %s:%s" % (john_doe.username, john_doe.api_key.key)
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), john_doe.username)
示例8: test_apikey_and_authentication
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_apikey_and_authentication(self):
auth = MultiAuthentication(ApiKeyAuthentication(), Authentication())
request = HttpRequest()
john_doe = User.objects.get(username='johndoe')
# No username/api_key details should pass.
self.assertEqual(auth.is_authenticated(request), True)
# The identifier should be the basic auth stock.
self.assertEqual(auth.get_identifier(request), 'noaddr_nohost')
# Wrong username details.
request = HttpRequest()
request.GET['username'] = 'foo'
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), 'noaddr_nohost')
# No api_key.
request = HttpRequest()
request.GET['username'] = 'daniel'
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), 'noaddr_nohost')
# Wrong user/api_key.
request = HttpRequest()
request.GET['username'] = 'daniel'
request.GET['api_key'] = 'foo'
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), 'noaddr_nohost')
request = HttpRequest()
request.GET['username'] = 'johndoe'
request.GET['api_key'] = john_doe.api_key.key
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), john_doe.username)
示例9: test_multiauth_apikey_and_basic_auth__basic_auth_works
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_multiauth_apikey_and_basic_auth__basic_auth_works(self):
auth = MultiAuthentication(BasicAuthentication(), ApiKeyAuthentication())
request = HttpRequest()
john_doe = User.objects.get(username="johndoe")
john_doe.set_password("pass")
john_doe.save()
request.META["HTTP_AUTHORIZATION"] = "Basic %s" % base64.b64encode("johndoe:pass".encode("utf-8")).decode(
"utf-8"
)
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), john_doe.username)
示例10: test_apikey_and_authentication_enforce_user
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_apikey_and_authentication_enforce_user(self):
session_auth = SessionAuthentication()
api_key_auth = ApiKeyAuthentication()
auth = MultiAuthentication(api_key_auth, session_auth)
john_doe = User.objects.get(username='johndoe')
request1 = HttpRequest()
request2 = HttpRequest()
request3 = HttpRequest()
request1.method = 'POST'
request1.META = {
'HTTP_X_CSRFTOKEN': 'abcdef1234567890abcdef1234567890'
}
request1.COOKIES = {
settings.CSRF_COOKIE_NAME: 'abcdef1234567890abcdef1234567890'
}
request1.user = john_doe
request2.POST['username'] = 'janedoe'
request2.POST['api_key'] = 'invalid key'
request3.method = 'POST'
request3.META = {
'HTTP_X_CSRFTOKEN': 'abcdef1234567890abcdef1234567890'
}
request3.COOKIES = {
settings.CSRF_COOKIE_NAME: 'abcdef1234567890abcdef1234567890'
}
request3.user = john_doe
request3.POST['username'] = 'janedoe'
request3.POST['api_key'] = 'invalid key'
#session auth should pass if since john_doe is logged in
self.assertTrue(session_auth.is_authenticated(request1))
#api key auth should fail because of invalid api key
self.assertEqual(isinstance(api_key_auth.is_authenticated(request2), HttpUnauthorized), True)
#multi auth shouldn't change users if api key auth fails
#multi auth passes since session auth is valid
self.assertEqual(request3.user.username, 'johndoe')
self.assertTrue(auth.is_authenticated(request3))
self.assertEqual(request3.user.username, 'johndoe')
示例11: is_authenticated
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def is_authenticated(self, request, **kwargs):
if request.method == 'GET':
return True
multi_auth = MultiAuthentication(SessionAuthentication(),
BasicAuthentication())
return multi_auth.is_authenticated(request, **kwargs)
示例12: test_multiauth_apikey_and_basic_auth__no_details_fails
# 需要导入模块: from tastypie.authentication import MultiAuthentication [as 别名]
# 或者: from tastypie.authentication.MultiAuthentication import is_authenticated [as 别名]
def test_multiauth_apikey_and_basic_auth__no_details_fails(self):
auth = MultiAuthentication(BasicAuthentication(), ApiKeyAuthentication())
request = HttpRequest()
self.assertEqual(isinstance(auth.is_authenticated(request), HttpUnauthorized), True)