|
14 | 14 | from django.contrib.auth.base_user import AbstractBaseUser |
15 | 15 | from django.contrib.postgres.fields import ArrayField |
16 | 16 | from django.contrib.sites.models import Site |
17 | | -from django.core import mail, validators |
| 17 | +from django.core import mail |
18 | 18 | from django.core.cache import cache |
19 | 19 | from django.core.files.base import ContentFile |
20 | 20 | from django.core.files.storage import default_storage |
|
39 | 39 | RoleChoices, |
40 | 40 | get_equivalent_link_definition, |
41 | 41 | ) |
| 42 | +from .validators import sub_validator |
42 | 43 |
|
43 | 44 | logger = getLogger(__name__) |
44 | 45 |
|
@@ -136,22 +137,12 @@ def get_user_by_sub_or_email(self, sub, email): |
136 | 137 | class User(AbstractBaseUser, BaseModel, auth_models.PermissionsMixin): |
137 | 138 | """User model to work with OIDC only authentication.""" |
138 | 139 |
|
139 | | - sub_validator = validators.RegexValidator( |
140 | | - regex=r"^[\w.@+-:]+\Z", |
141 | | - message=_( |
142 | | - "Enter a valid sub. This value may contain only letters, " |
143 | | - "numbers, and @/./+/-/_/: characters." |
144 | | - ), |
145 | | - ) |
146 | | - |
147 | 140 | sub = models.CharField( |
148 | 141 | _("sub"), |
149 | | - help_text=_( |
150 | | - "Required. 255 characters or fewer. Letters, numbers, and @/./+/-/_/: characters only." |
151 | | - ), |
| 142 | + help_text=_("Required. 255 characters or fewer. ASCII characters only."), |
152 | 143 | max_length=255, |
153 | | - unique=True, |
154 | 144 | validators=[sub_validator], |
| 145 | + unique=True, |
155 | 146 | blank=True, |
156 | 147 | null=True, |
157 | 148 | ) |
|
0 commit comments