forked from enviPath/enviPy
minor
This commit is contained in:
@ -5,4 +5,5 @@ from . import views
|
||||
urlpatterns = [
|
||||
path("entra/login/", views.entra_login, name="entra_login"),
|
||||
path("auth/redirect/", views.entra_callback, name="entra_callback"),
|
||||
path("auth/token/", views.get_token, name="get_token"),
|
||||
]
|
||||
|
||||
@ -2,9 +2,11 @@ import msal
|
||||
from django.conf import settings as s
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth import login
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import redirect
|
||||
|
||||
from epdb.logic import UserManager
|
||||
from epdb.logic import UserManager, GroupManager
|
||||
from epdb.models import Group
|
||||
|
||||
|
||||
def get_msal_app_with_cache(request):
|
||||
@ -81,10 +83,12 @@ def entra_callback(request):
|
||||
login(request, u)
|
||||
|
||||
# EDIT START
|
||||
|
||||
# Ensure groups exists in eP
|
||||
for id, name in s.ENTRA_SECRET_GROUPS.items():
|
||||
if not Group.objects.filter(uuid=id).exists():
|
||||
g = GroupManager.create_group(User.objects.get(username="admin"), name, f"Synced Entra Group {name} ", uuid=id)
|
||||
g = GroupManager.create_group(User.objects.get(username="admin"), name, f"Synced Entra Group {name} ",
|
||||
uuid=id)
|
||||
else:
|
||||
g = Group.objects.get(uuid=id)
|
||||
# Ensure its secret
|
||||
@ -93,7 +97,8 @@ def entra_callback(request):
|
||||
|
||||
for id, name in s.ENTRA_GROUPS.items():
|
||||
if not Group.objects.filter(uuid=id).exists():
|
||||
g = GroupManager.create_group(User.objects.get(username="admin"), name, f"Synced Entra Group {name} ", uuid=id)
|
||||
g = GroupManager.create_group(User.objects.get(username="admin"), name, f"Synced Entra Group {name} ",
|
||||
uuid=id)
|
||||
else:
|
||||
g = Group.objects.get(uuid=id)
|
||||
|
||||
@ -152,3 +157,9 @@ def get_access_token_from_request(request, scopes=None):
|
||||
return result
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def get_token(request):
|
||||
token = get_access_token_from_request(request)
|
||||
msg = f"{token}"
|
||||
return HttpResponse(msg, content_type='text/plain')
|
||||
|
||||
Reference in New Issue
Block a user