
* lib/sync/outgoing: add dry run Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add option to temporarily override dry run Signed-off-by: Jens Langhammer <jens@goauthentik.io> * web a Signed-off-by: Jens Langhammer <jens@goauthentik.io> * web b Signed-off-by: Jens Langhammer <jens@goauthentik.io> * format Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add some test Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add more tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add dry run label Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add support for entra too Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add web Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add entra test and improve error handling Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
58 lines
1.8 KiB
Python
58 lines
1.8 KiB
Python
"""Microsoft Provider API Views"""
|
|
|
|
from rest_framework.viewsets import ModelViewSet
|
|
|
|
from authentik.core.api.providers import ProviderSerializer
|
|
from authentik.core.api.used_by import UsedByMixin
|
|
from authentik.enterprise.api import EnterpriseRequiredMixin
|
|
from authentik.enterprise.providers.microsoft_entra.models import MicrosoftEntraProvider
|
|
from authentik.enterprise.providers.microsoft_entra.tasks import (
|
|
microsoft_entra_sync,
|
|
microsoft_entra_sync_objects,
|
|
)
|
|
from authentik.lib.sync.outgoing.api import OutgoingSyncProviderStatusMixin
|
|
|
|
|
|
class MicrosoftEntraProviderSerializer(EnterpriseRequiredMixin, ProviderSerializer):
|
|
"""MicrosoftEntraProvider Serializer"""
|
|
|
|
class Meta:
|
|
model = MicrosoftEntraProvider
|
|
fields = [
|
|
"pk",
|
|
"name",
|
|
"property_mappings",
|
|
"property_mappings_group",
|
|
"component",
|
|
"assigned_backchannel_application_slug",
|
|
"assigned_backchannel_application_name",
|
|
"verbose_name",
|
|
"verbose_name_plural",
|
|
"meta_model_name",
|
|
"client_id",
|
|
"client_secret",
|
|
"tenant_id",
|
|
"exclude_users_service_account",
|
|
"filter_group",
|
|
"user_delete_action",
|
|
"group_delete_action",
|
|
"dry_run",
|
|
]
|
|
extra_kwargs = {}
|
|
|
|
|
|
class MicrosoftEntraProviderViewSet(OutgoingSyncProviderStatusMixin, UsedByMixin, ModelViewSet):
|
|
"""MicrosoftEntraProvider Viewset"""
|
|
|
|
queryset = MicrosoftEntraProvider.objects.all()
|
|
serializer_class = MicrosoftEntraProviderSerializer
|
|
filterset_fields = [
|
|
"name",
|
|
"exclude_users_service_account",
|
|
"filter_group",
|
|
]
|
|
search_fields = ["name"]
|
|
ordering = ["name"]
|
|
sync_single_task = microsoft_entra_sync
|
|
sync_objects_task = microsoft_entra_sync_objects
|