mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	Use cas server to use authentication in other services
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
This commit is contained in:
		
							
								
								
									
										15
									
								
								apps/member/auth.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								apps/member/auth.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
from cas_server.auth import DjangoAuthUser  # pragma: no cover
 | 
			
		||||
 | 
			
		||||
from note.models import Alias
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CustomAuthUser(DjangoAuthUser):  # pragma: no cover
 | 
			
		||||
    """
 | 
			
		||||
    Override Django Auth User model to define a custom Matrix username.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def attributs(self):
 | 
			
		||||
        d = super().attributs()
 | 
			
		||||
        if self.user:
 | 
			
		||||
            d["normalized_name"] = Alias.normalize(self.user.username)
 | 
			
		||||
        return d
 | 
			
		||||
@@ -52,3 +52,9 @@ if "rest_framework" in settings.INSTALLED_APPS:
 | 
			
		||||
    from rest_framework.authtoken.admin import *
 | 
			
		||||
    from rest_framework.authtoken.models import *
 | 
			
		||||
    admin_site.register(Token, TokenAdmin)
 | 
			
		||||
 | 
			
		||||
if "cas_server" in settings.INSTALLED_APPS:
 | 
			
		||||
    from cas_server.admin import *
 | 
			
		||||
    from cas_server.models import *
 | 
			
		||||
    admin_site.register(ServicePattern, ServicePatternAdmin)
 | 
			
		||||
    admin_site.register(FederatedIendityProvider, FederatedIendityProviderAdmin)
 | 
			
		||||
 
 | 
			
		||||
@@ -45,6 +45,11 @@ if "oauth2_provider" in settings.INSTALLED_APPS:
 | 
			
		||||
        path('o/', include('oauth2_provider.urls', namespace='oauth2_provider'))
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
if "cas_server" in settings.INSTALLED_APPS:
 | 
			
		||||
    urlpatterns.append(
 | 
			
		||||
        path('cas/', include('cas_server.urls', namespace='cas_server'))
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
if "debug_toolbar" in settings.INSTALLED_APPS:
 | 
			
		||||
    import debug_toolbar
 | 
			
		||||
    urlpatterns = [
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
beautifulsoup4~=4.7.1
 | 
			
		||||
Django~=2.2.15
 | 
			
		||||
django-bootstrap-datepicker-plus~=3.0.5
 | 
			
		||||
django-cas-server~=1.2.0
 | 
			
		||||
django-colorfield~=0.3.2
 | 
			
		||||
django-crispy-forms~=1.7.2
 | 
			
		||||
django-extensions~=2.1.4
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user