mirror of
				https://github.com/Tivix/django-rest-auth.git
				synced 2025-11-04 09:37:35 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
		
			1010 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1010 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from six import string_types
 | 
						|
from importlib import import_module
 | 
						|
 | 
						|
 | 
						|
def import_callable(path_or_callable):
 | 
						|
    if hasattr(path_or_callable, '__call__'):
 | 
						|
        return path_or_callable
 | 
						|
    else:
 | 
						|
        assert isinstance(path_or_callable, string_types)
 | 
						|
        package, attr = path_or_callable.rsplit('.', 1)
 | 
						|
        return getattr(import_module(package), attr)
 | 
						|
 | 
						|
 | 
						|
def default_create_token(token_model, user, serializer):
 | 
						|
    token, _ = token_model.objects.get_or_create(user=user)
 | 
						|
    return token
 | 
						|
 | 
						|
 | 
						|
def create_knox_token(token_model, user, serializer):
 | 
						|
    token = token_model.objects.create(user=user)
 | 
						|
    return token
 | 
						|
 | 
						|
 | 
						|
def jwt_encode(user):
 | 
						|
    try:
 | 
						|
        from rest_framework_jwt.settings import api_settings
 | 
						|
    except ImportError:
 | 
						|
        raise ImportError("djangorestframework_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)
 |