django-rest-auth/rest_auth/utils.py

28 lines
881 B
Python
Raw Normal View History

from six import string_types
from importlib import import_module
2014-10-09 13:41:52 +04:00
def import_callable(path_or_callable):
if hasattr(path_or_callable, '__call__'):
return path_or_callable
else:
assert isinstance(path_or_callable, string_types)
2014-10-09 13:41:52 +04:00
package, attr = path_or_callable.rsplit('.', 1)
return getattr(import_module(package), attr)
2016-01-01 00:10:52 +03:00
def default_create_token(token_model, user, serializer):
2016-01-01 00:10:52 +03:00
token, _ = token_model.objects.get_or_create(user=user)
return token
def jwt_encode(user):
try:
from rest_framework_jwt.settings import api_settings
except ImportError:
raise ImportError('rest_framework_jwt needs to be installed')
jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
payload = jwt_payload_handler(user)
return jwt_encode_handler(payload)