Skip to content

Commit d984da1

Browse files
committed
Create individual users
1 parent 36894e9 commit d984da1

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

app/settings.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@
2323

2424
BASE_DIR = Path(__file__).resolve().parent.parent
2525

26-
ADMINS = [("FEINHEIT Developers", "[email protected]")]
27-
MANAGERS = ADMINS
26+
# These values may be overridden using environment variables. ADMINS as is,
27+
# DEFAULT_FROM_EMAIL and SERVER_EMAIL using EMAIL_URL
28+
ADMINS = MANAGERS = env("ADMINS", default=[("FEINHEIT Developers", "[email protected]")])
2829
SERVER_EMAIL = DEFAULT_FROM_EMAIL = "[email protected]"
2930

3031
DATABASES = {"default": django_database_url(env("DATABASE_URL", required=True))}
@@ -181,7 +182,9 @@
181182
else:
182183
os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"
183184

184-
ADMIN_OAUTH_PATTERNS = [(r"@feinheit\.ch", "[email protected]")]
185+
SSO_DOMAINS = env("SSO_DOMAINS", default=r"@feinheit\.ch$")
186+
ADMIN_OAUTH_PATTERNS = [(SSO_DOMAINS, lambda match: match[0])]
187+
ADMIN_OAUTH_CREATE_USER_CALLBACK = "app.sso.create_user_callback"
185188

186189
LOGIN_URL = reverse_lazy("login")
187190
LOGIN_REDIRECT_URL = "/"

app/sso.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from authlib.little_auth.models import User
2+
3+
4+
def create_user_callback(request, user_mail):
5+
# SSO users automatically get superuser access
6+
user = User(email=user_mail, is_superuser=True)
7+
user.set_unusable_password()
8+
user.save()

0 commit comments

Comments
 (0)