Use canonical organization e-mail in OIDC data.
[cas.git] / src / services / models.py
index 593eff2..c7a5d97 100644 (file)
@@ -1,3 +1,4 @@
+import secrets
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.db import models
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.db import models
@@ -20,6 +21,11 @@ class Service(models.Model):
     def __str__(self):
         return self.name
 
     def __str__(self):
         return self.name
 
+    def save(self, *args, **kwargs):
+        if not self.key:
+            self.key = secrets.token_urlsafe()
+        return super().save(*args, **kwargs)
+
     def all_users(self):
         return User.objects.filter(
                 models.Q(service=self) |
     def all_users(self):
         return User.objects.filter(
                 models.Q(service=self) |