6666 "django.contrib.messages" ,
6767 "django.contrib.staticfiles" ,
6868 "django.contrib.humanize" ,
69+ 'django.contrib.sites' ,
6970]
7071EXTERNAL_APPS = [
7172 "compressor" ,
7576 "jquery" ,
7677 "rest_framework.authtoken" ,
7778 "rules" ,
79+ "allauth" ,
80+ "allauth.account" ,
81+ "allauth.socialaccount" ,
7882]
7983LOCAL_APPS = [
8084 "pretalx.api" ,
8791 "pretalx.agenda" ,
8892 "pretalx.cfp" ,
8993 "pretalx.orga" ,
94+ "pretalx.sso_provider" ,
9095]
9196FALLBACK_APPS = [
9297 "bootstrap4" ,
@@ -503,6 +508,7 @@ def merge_csp(*options, config=None):
503508 "rules.permissions.ObjectPermissionBackend" ,
504509 "django.contrib.auth.backends.ModelBackend" ,
505510 "pretalx.common.auth.AuthenticationTokenBackend" ,
511+ "allauth.account.auth_backends.AuthenticationBackend" ,
506512)
507513AUTH_PASSWORD_VALIDATORS = [
508514 {
@@ -528,6 +534,7 @@ def merge_csp(*options, config=None):
528534 "django.contrib.messages.middleware.MessageMiddleware" , # Uses sessions
529535 "django.middleware.clickjacking.XFrameOptionsMiddleware" , # Protects against clickjacking
530536 "csp.middleware.CSPMiddleware" , # Modifies/sets CSP headers
537+ "allauth.account.middleware.AccountMiddleware" , # Adds account information to the request
531538]
532539
533540
@@ -546,6 +553,8 @@ def merge_csp(*options, config=None):
546553 "DIRS" : [
547554 DATA_DIR / "templates" ,
548555 BASE_DIR / "templates" ,
556+ BASE_DIR / "pretalx" / "sso_provider" / "templates" ,
557+
549558 ],
550559 "OPTIONS" : {
551560 "context_processors" : [
@@ -686,3 +695,23 @@ def merge_csp(*options, config=None):
686695 LOG_DIR = LOG_DIR ,
687696 plugins = PLUGINS ,
688697 )
698+
699+ # Below is configuration for SSO using eventyay-ticket
700+ EVENTYAY_TICKET_BASE_PATH = os .getenv ("EVENTYAY_TICKET_BASE_PATH" ,
701+ "https://tickets-dev.eventyay.com" )
702+ SITE_ID = 1
703+ # for now, customer must verified their email at eventyay-ticket, so this check not required
704+ ACCOUNT_EMAIL_VERIFICATION = 'none'
705+ # will take name from eventyay-ticket as username
706+ ACCOUNT_USER_MODEL_USERNAME_FIELD = 'name'
707+ # redirect to home page after login with eventyay-ticket
708+ LOGIN_REDIRECT_URL = '/'
709+ # custom form for signup and adapter
710+ SOCIALACCOUNT_FORMS = {"signup" : "pretalx.sso_provider.forms.CustomSignUpForm" }
711+ SOCIALACCOUNT_ADAPTER = 'pretalx.sso_provider.views.CustomSocialAccountAdapter'
712+ # disable confirm step when using eventyay-ticket to login
713+ SOCIALACCOUNT_LOGIN_ON_GET = True
714+ # eventyay-ticket provider configuration
715+ EVENTYAY_TICKET_SSO_WELL_KNOW_URL = "/" .join ([EVENTYAY_TICKET_BASE_PATH ,
716+ '{org}' ,
717+ '.well-known/openid-configuration' ])
0 commit comments