secret packs viz
Some checks failed
CI / test (pull_request) Failing after 30s
API CI / api-tests (pull_request) Failing after 43s

This commit is contained in:
Tim Lorsbach
2026-07-25 22:50:20 +02:00
parent 9bf65d4319
commit b9c3618c41
5 changed files with 22 additions and 3 deletions

View File

@ -83,6 +83,7 @@ def entra_callback(request):
# Get implementing class
User = get_user_model()
registered = False
if User.objects.filter(uuid=user_oid).exists():
u = User.objects.get(uuid=user_oid)
@ -93,6 +94,7 @@ def entra_callback(request):
else:
auth_log.info(f"Registering {user_name} with OID {user_oid}")
u = UserManager.create_user(user_name, user_email, None, uuid=user_oid, is_active=True)
registered = True
auth_log.info(f"User {user_name} {'(admin) ' if u.is_superuser else ''}with OID {user_oid} successfully logged in as {u.username} from {get_remote_address(request)}")
login(request, u)
@ -132,6 +134,17 @@ def entra_callback(request):
g.user_member.remove(u)
auth_log.info(f"Login Group Sync: Removing {u.username} from Group {g.name} ({ uuid })")
if registered:
# #72 make package secret if user is part of a secret group
for id, name in s.ENTRA_SECRET_GROUPS.items():
group = Group.objects.get(uuid=id)
if group.user_member.contains(u):
# User is eligible for secrete
pack = u.default_package
u.data_pool = group
u.classification_level = u.Classification.SECRET
u.save()
# EDIT END
return redirect(s.SERVER_URL) # Handle errors