本文整理汇总了Python中tastypie.authentication.ApiKeyAuthentication.get_identifier方法的典型用法代码示例。如果您正苦于以下问题:Python ApiKeyAuthentication.get_identifier方法的具体用法?Python ApiKeyAuthentication.get_identifier怎么用?Python ApiKeyAuthentication.get_identifier使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tastypie.authentication.ApiKeyAuthentication
的用法示例。
在下文中一共展示了ApiKeyAuthentication.get_identifier方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_is_authenticated_get_params
# 需要导入模块: from tastypie.authentication import ApiKeyAuthentication [as 别名]
# 或者: from tastypie.authentication.ApiKeyAuthentication import get_identifier [as 别名]
def test_is_authenticated_get_params(self):
auth = ApiKeyAuthentication()
request = HttpRequest()
# Simulate sending the signal.
john_doe = User.objects.get(username='johndoe')
create_api_key(User, instance=john_doe, created=True)
# No username/api_key details should fail.
self.assertEqual(isinstance(auth.is_authenticated(request), HttpUnauthorized), True)
# Wrong username details.
request.GET['username'] = 'foo'
self.assertEqual(isinstance(auth.is_authenticated(request), HttpUnauthorized), True)
# No api_key.
request.GET['username'] = 'daniel'
self.assertEqual(isinstance(auth.is_authenticated(request), HttpUnauthorized), True)
# Wrong user/api_key.
request.GET['username'] = 'daniel'
request.GET['api_key'] = 'foo'
self.assertEqual(isinstance(auth.is_authenticated(request), HttpUnauthorized), True)
# Correct user/api_key.
john_doe = User.objects.get(username='johndoe')
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')
示例2: test_is_authenticated_get_params
# 需要导入模块: from tastypie.authentication import ApiKeyAuthentication [as 别名]
# 或者: from tastypie.authentication.ApiKeyAuthentication import get_identifier [as 别名]
def test_is_authenticated_get_params(self):
auth = ApiKeyAuthentication()
request = HttpRequest()
# Simulate sending the signal.
john_doe = CustomUser.objects.get(pk=1)
create_api_key(CustomUser, instance=john_doe, created=True)
# No username/api_key details should fail.
self.assertEqual(isinstance(auth.is_authenticated(request), HttpUnauthorized), True)
# Wrong username (email) details.
request.GET['username'] = '[email protected]'
self.assertEqual(isinstance(auth.is_authenticated(request), HttpUnauthorized), True)
# No api_key.
request.GET['username'] = john_doe.email
self.assertEqual(isinstance(auth.is_authenticated(request), HttpUnauthorized), True)
# Wrong user/api_key.
request.GET['username'] = john_doe.email
request.GET['api_key'] = 'foo'
self.assertEqual(isinstance(auth.is_authenticated(request), HttpUnauthorized), True)
# Correct user/api_key.
ApiKey.objects.all().delete()
create_api_key(CustomUser, instance=john_doe, created=True)
request.GET['username'] = john_doe.email
request.GET['api_key'] = john_doe.api_key.key
self.assertEqual(auth.is_authenticated(request), True)
self.assertEqual(auth.get_identifier(request), john_doe.email)
示例3: test_whitelisting
# 需要导入模块: from tastypie.authentication import ApiKeyAuthentication [as 别名]
# 或者: from tastypie.authentication.ApiKeyAuthentication import get_identifier [as 别名]
def test_whitelisting(self):
auth = ApiKeyAuthentication(whitelisted_methods=['a_method'])
request = HttpRequest()
# Simulate sending the signal.
john_doe = User.objects.get(username='johndoe')
create_api_key(User, instance=john_doe, created=True)
# Calling with a whitelisted method_name without credentials should work
self.assertEqual(auth.is_authenticated(request, method_name='a_method'), True)
# Calling any other method should require the Api Key
self.assertEqual(isinstance(auth.is_authenticated(request, method_name='another_method'), HttpUnauthorized), True)
# Correct user/api_key
john_doe = User.objects.get(username='johndoe')
request.GET['username'] = 'johndoe'
request.GET['api_key'] = john_doe.api_key.key
self.assertEqual(auth.is_authenticated(request, method_name="another_method"), True)
self.assertEqual(auth.get_identifier(request), 'johndoe')
self.assertEqual(auth.is_authenticated(request, method_name="a_method"), True)
self.assertEqual(auth.get_identifier(request), 'johndoe')
示例4: Authentication
# 需要导入模块: from tastypie.authentication import ApiKeyAuthentication [as 别名]
# 或者: from tastypie.authentication.ApiKeyAuthentication import get_identifier [as 别名]
class Authentication(ApiKeyAuthentication):
def __init__(self):
self.api_key_auth = ApiKeyAuthentication()
self.basic_auth = BasicAuthentication(backend=ApiKeyBackend())
def is_authenticated(self, request, **kwargs):
if request.user.is_authenticated():
return True
ret = self.basic_auth.is_authenticated(request, **kwargs)
if isinstance(ret, HttpUnauthorized):
ret2 = self.api_key_auth.is_authenticated(request, **kwargs)
if not isinstance(ret2, HttpUnauthorized):
return ret2
return ret
def get_identifier(self, request):
if request.user.is_authenticated():
return request.user.username
ret = self.basic_auth.get_identifier(request)
if isinstance(ret, HttpUnauthorized):
ret2 = self.api_key_auth.get_identifier(request)
if not isinstance(ret2, HttpUnauthorized):
return ret2
return ret