authentik.sources.scim.views.v2.service_provider_config

SCIM Meta views

 1"""SCIM Meta views"""
 2
 3from django.conf import settings
 4from rest_framework.request import Request
 5from rest_framework.response import Response
 6
 7from authentik.sources.scim.views.v2.base import SCIMView
 8
 9
10class ServiceProviderConfigView(SCIMView):
11    """ServiceProviderConfig, https://ldapwiki.com/wiki/SCIM%20ServiceProviderConfig%20endpoint"""
12
13    # pylint: disable=unused-argument
14    def get(self, request: Request, source_slug: str) -> Response:
15        """Get ServiceProviderConfig"""
16        auth_schemas = [
17            {
18                "type": "oauthbearertoken",
19                "name": "OAuth Bearer Token",
20                "description": "Authentication scheme using the OAuth Bearer Token Standard",
21                "primary": True,
22            },
23        ]
24        if settings.TEST or settings.DEBUG:
25            auth_schemas.append(
26                {
27                    "type": "httpbasic",
28                    "name": "HTTP Basic",
29                    "description": "Authentication scheme using HTTP Basic authorization",
30                },
31            )
32        return Response(
33            {
34                "schemas": ["urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"],
35                "authenticationSchemes": auth_schemas,
36                "patch": {"supported": True},
37                "bulk": {"supported": False, "maxOperations": 0, "maxPayloadSize": 0},
38                "filter": {
39                    "supported": True,
40                    "maxResults": request.tenant.pagination_default_page_size,
41                },
42                "changePassword": {"supported": False},
43                "sort": {"supported": False},
44                "etag": {"supported": False},
45            }
46        )
class ServiceProviderConfigView(authentik.sources.scim.views.v2.base.SCIMView):
11class ServiceProviderConfigView(SCIMView):
12    """ServiceProviderConfig, https://ldapwiki.com/wiki/SCIM%20ServiceProviderConfig%20endpoint"""
13
14    # pylint: disable=unused-argument
15    def get(self, request: Request, source_slug: str) -> Response:
16        """Get ServiceProviderConfig"""
17        auth_schemas = [
18            {
19                "type": "oauthbearertoken",
20                "name": "OAuth Bearer Token",
21                "description": "Authentication scheme using the OAuth Bearer Token Standard",
22                "primary": True,
23            },
24        ]
25        if settings.TEST or settings.DEBUG:
26            auth_schemas.append(
27                {
28                    "type": "httpbasic",
29                    "name": "HTTP Basic",
30                    "description": "Authentication scheme using HTTP Basic authorization",
31                },
32            )
33        return Response(
34            {
35                "schemas": ["urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"],
36                "authenticationSchemes": auth_schemas,
37                "patch": {"supported": True},
38                "bulk": {"supported": False, "maxOperations": 0, "maxPayloadSize": 0},
39                "filter": {
40                    "supported": True,
41                    "maxResults": request.tenant.pagination_default_page_size,
42                },
43                "changePassword": {"supported": False},
44                "sort": {"supported": False},
45                "etag": {"supported": False},
46            }
47        )
def get( self, request: rest_framework.request.Request, source_slug: str) -> rest_framework.response.Response:
15    def get(self, request: Request, source_slug: str) -> Response:
16        """Get ServiceProviderConfig"""
17        auth_schemas = [
18            {
19                "type": "oauthbearertoken",
20                "name": "OAuth Bearer Token",
21                "description": "Authentication scheme using the OAuth Bearer Token Standard",
22                "primary": True,
23            },
24        ]
25        if settings.TEST or settings.DEBUG:
26            auth_schemas.append(
27                {
28                    "type": "httpbasic",
29                    "name": "HTTP Basic",
30                    "description": "Authentication scheme using HTTP Basic authorization",
31                },
32            )
33        return Response(
34            {
35                "schemas": ["urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"],
36                "authenticationSchemes": auth_schemas,
37                "patch": {"supported": True},
38                "bulk": {"supported": False, "maxOperations": 0, "maxPayloadSize": 0},
39                "filter": {
40                    "supported": True,
41                    "maxResults": request.tenant.pagination_default_page_size,
42                },
43                "changePassword": {"supported": False},
44                "sort": {"supported": False},
45                "etag": {"supported": False},
46            }
47        )

Get ServiceProviderConfig