mirror of
				https://github.com/Tivix/django-rest-auth.git
				synced 2025-10-31 07:47:33 +03:00 
			
		
		
		
	registration: allow custom permission classes
This commit is contained in:
		
							parent
							
								
									9cf4c4e730
								
							
						
					
					
						commit
						be17865b00
					
				|  | @ -1,5 +1,6 @@ | ||||||
| from django.conf import settings | from django.conf import settings | ||||||
| 
 | 
 | ||||||
|  | from rest_framework.permissions import AllowAny | ||||||
| from rest_auth.registration.serializers import ( | from rest_auth.registration.serializers import ( | ||||||
|     RegisterSerializer as DefaultRegisterSerializer) |     RegisterSerializer as DefaultRegisterSerializer) | ||||||
| from ..utils import import_callable | from ..utils import import_callable | ||||||
|  | @ -9,3 +10,10 @@ serializers = getattr(settings, 'REST_AUTH_REGISTER_SERIALIZERS', {}) | ||||||
| 
 | 
 | ||||||
| RegisterSerializer = import_callable( | RegisterSerializer = import_callable( | ||||||
|     serializers.get('REGISTER_SERIALIZER', DefaultRegisterSerializer)) |     serializers.get('REGISTER_SERIALIZER', DefaultRegisterSerializer)) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def register_permission_classes(): | ||||||
|  |     permission_classes = [AllowAny, ] | ||||||
|  |     for klass in  getattr(settings, 'REST_AUTH_REGISTER_PERMISSION_CLASSES', tuple()): | ||||||
|  |         permission_classes.append(import_callable(klass)) | ||||||
|  |     return tuple(permission_classes) | ||||||
|  |  | ||||||
|  | @ -22,7 +22,7 @@ from rest_auth.registration.serializers import (SocialLoginSerializer, | ||||||
|                                                 VerifyEmailSerializer) |                                                 VerifyEmailSerializer) | ||||||
| from rest_auth.utils import jwt_encode | from rest_auth.utils import jwt_encode | ||||||
| from rest_auth.views import LoginView | from rest_auth.views import LoginView | ||||||
| from .app_settings import RegisterSerializer | from .app_settings import RegisterSerializer, register_permission_classes | ||||||
| 
 | 
 | ||||||
| sensitive_post_parameters_m = method_decorator( | sensitive_post_parameters_m = method_decorator( | ||||||
|     sensitive_post_parameters('password1', 'password2') |     sensitive_post_parameters('password1', 'password2') | ||||||
|  | @ -31,7 +31,7 @@ sensitive_post_parameters_m = method_decorator( | ||||||
| 
 | 
 | ||||||
| class RegisterView(CreateAPIView): | class RegisterView(CreateAPIView): | ||||||
|     serializer_class = RegisterSerializer |     serializer_class = RegisterSerializer | ||||||
|     permission_classes = (AllowAny, ) |     permission_classes = register_permission_classes() | ||||||
|     token_model = TokenModel |     token_model = TokenModel | ||||||
| 
 | 
 | ||||||
|     @sensitive_post_parameters_m |     @sensitive_post_parameters_m | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user