feat: complete premium visual audit and brand refinement
deploy / deploy (push) Canceled after 0s

This commit is contained in:
Jens
2026-07-26 05:03:53 +02:00
parent 2a32e9fec9
commit fd5b50b8fe
31 changed files with 325 additions and 87 deletions
+2 -5
View File
@@ -24,8 +24,7 @@ class EmailOrUsernameModelBackend(ModelBackend):
try:
user = user_model.objects.get(
Q(**{f"{user_model.USERNAME_FIELD}__iexact": username})
| Q(email__iexact=username)
Q(**{f"{user_model.USERNAME_FIELD}__iexact": username}) | Q(email__iexact=username)
)
except user_model.DoesNotExist:
# Draai toch een hash om timing-aanvallen (user-enumeratie) te beperken.
@@ -34,9 +33,7 @@ class EmailOrUsernameModelBackend(ModelBackend):
except user_model.MultipleObjectsReturned:
# Meerdere accounts met dezelfde e-mail: val terug op exacte username-match.
user = (
user_model.objects.filter(
**{f"{user_model.USERNAME_FIELD}__iexact": username}
)
user_model.objects.filter(**{f"{user_model.USERNAME_FIELD}__iexact": username})
.order_by("id")
.first()
)
+1 -2
View File
@@ -28,8 +28,7 @@ def navigation_context(request: HttpRequest) -> dict[str, Any]:
}
context = {
"app_name": "VacatureRadar",
"app_version": "0.3.3",
"app_brand_name": "ITWorx.tech",
"app_version": "0.3.9",
"app_owner_name": settings.VACATURERADAR_OWNER_NAME,
"page_context_label": page_contexts.get(route_key, "Persoonlijke cockpit"),
}
+2 -7
View File
@@ -45,9 +45,7 @@ def load_config() -> EntraConfig:
)
scopes = list(getattr(settings, "ENTRA_SCOPES", ["User.Read"]))
allowed = tuple(
d.lower().lstrip("@")
for d in getattr(settings, "ENTRA_ALLOWED_DOMAINS", [])
if d
d.lower().lstrip("@") for d in getattr(settings, "ENTRA_ALLOWED_DOMAINS", []) if d
)
return EntraConfig(
client_id=client_id,
@@ -91,10 +89,7 @@ def extract_identity(token_result: dict) -> tuple[str, str]:
"""Haal (e-mailadres, weergavenaam) uit de id-token-claims."""
claims = token_result.get("id_token_claims") or {}
email = (
claims.get("preferred_username")
or claims.get("email")
or claims.get("upn")
or ""
claims.get("preferred_username") or claims.get("email") or claims.get("upn") or ""
).strip()
name = (claims.get("name") or "").strip()
return email, name
+2 -6
View File
@@ -147,9 +147,7 @@ def entra_login(request):
return redirect("login")
try:
config = entra_sso.load_config()
redirect_uri = config.redirect_uri or request.build_absolute_uri(
reverse("entra-callback")
)
redirect_uri = config.redirect_uri or request.build_absolute_uri(reverse("entra-callback"))
flow = entra_sso.build_auth_flow(config, redirect_uri)
except entra_sso.EntraConfigError as exc:
logger.warning("Entra ID niet beschikbaar: %s", exc)
@@ -183,9 +181,7 @@ def entra_callback(request):
return redirect("login")
if "error" in result:
logger.warning(
"Entra ID-fout: %s", result.get("error_description") or result.get("error")
)
logger.warning("Entra ID-fout: %s", result.get("error_description") or result.get("error"))
messages.error(request, "Inloggen via Entra ID is mislukt.")
return redirect("login")