move more stuff out of lib
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
@ -8,7 +8,7 @@ from django.urls import reverse
|
|||||||
from authentik import __version__
|
from authentik import __version__
|
||||||
from authentik.blueprints.tests import reconcile_app
|
from authentik.blueprints.tests import reconcile_app
|
||||||
from authentik.core.models import Group, User
|
from authentik.core.models import Group, User
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
|
|
||||||
|
|
||||||
class TestAdminAPI(TestCase):
|
class TestAdminAPI(TestCase):
|
||||||
|
@ -11,7 +11,7 @@ from authentik.api.authentication import bearer_auth
|
|||||||
from authentik.common.oauth.constants import SCOPE_AUTHENTIK_API
|
from authentik.common.oauth.constants import SCOPE_AUTHENTIK_API
|
||||||
from authentik.core.models import Token, TokenIntents
|
from authentik.core.models import Token, TokenIntents
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.providers.oauth2.models import AccessToken, OAuth2Provider
|
from authentik.providers.oauth2.models import AccessToken, OAuth2Provider
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,14 +10,14 @@ from rest_framework.serializers import Serializer
|
|||||||
from structlog import get_logger
|
from structlog import get_logger
|
||||||
|
|
||||||
from authentik.blueprints.v1.oci import OCI_PREFIX, BlueprintOCIClient, OCIException
|
from authentik.blueprints.v1.oci import OCI_PREFIX, BlueprintOCIClient, OCIException
|
||||||
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.lib.config import CONFIG
|
from authentik.lib.config import CONFIG
|
||||||
from authentik.lib.models import CreatedUpdatedModel, SerializerModel
|
from authentik.lib.models import CreatedUpdatedModel, SerializerModel
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
|
||||||
|
|
||||||
LOGGER = get_logger()
|
LOGGER = get_logger()
|
||||||
|
|
||||||
|
|
||||||
class BlueprintRetrievalFailed(SentryIgnoredException):
|
class BlueprintRetrievalFailed(NotReportedException):
|
||||||
"""Error raised when we are unable to fetch the blueprint contents, whether it be HTTP files
|
"""Error raised when we are unable to fetch the blueprint contents, whether it be HTTP files
|
||||||
not being accessible or local files not being readable"""
|
not being accessible or local files not being readable"""
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
|
||||||
from authentik.blueprints.models import BlueprintInstance, BlueprintRetrievalFailed
|
from authentik.blueprints.models import BlueprintInstance, BlueprintRetrievalFailed
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
|
|
||||||
|
|
||||||
class TestModels(TestCase):
|
class TestModels(TestCase):
|
||||||
|
@ -7,8 +7,8 @@ from django.test import TransactionTestCase
|
|||||||
from authentik.blueprints.v1.exporter import FlowExporter
|
from authentik.blueprints.v1.exporter import FlowExporter
|
||||||
from authentik.blueprints.v1.importer import Importer, transaction_rollback
|
from authentik.blueprints.v1.importer import Importer, transaction_rollback
|
||||||
from authentik.core.models import Group
|
from authentik.core.models import Group
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.models import Flow, FlowDesignation, FlowStageBinding
|
from authentik.flows.models import Flow, FlowDesignation, FlowStageBinding
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.tests.utils import load_fixture
|
from authentik.lib.tests.utils import load_fixture
|
||||||
from authentik.policies.expression.models import ExpressionPolicy
|
from authentik.policies.expression.models import ExpressionPolicy
|
||||||
from authentik.policies.models import PolicyBinding
|
from authentik.policies.models import PolicyBinding
|
||||||
|
@ -5,8 +5,8 @@ from django.test import TransactionTestCase
|
|||||||
from authentik.blueprints.v1.importer import Importer
|
from authentik.blueprints.v1.importer import Importer
|
||||||
from authentik.core.models import Application, Token, User
|
from authentik.core.models import Application, Token, User
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.models import Flow
|
from authentik.flows.models import Flow
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.tests.utils import load_fixture
|
from authentik.lib.tests.utils import load_fixture
|
||||||
from authentik.sources.oauth.models import OAuthSource
|
from authentik.sources.oauth.models import OAuthSource
|
||||||
|
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
from django.test import TransactionTestCase
|
from django.test import TransactionTestCase
|
||||||
|
|
||||||
from authentik.blueprints.v1.importer import Importer
|
from authentik.blueprints.v1.importer import Importer
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.models import Flow
|
from authentik.flows.models import Flow
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.tests.utils import load_fixture
|
from authentik.lib.tests.utils import load_fixture
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,8 +5,8 @@ from guardian.shortcuts import get_perms
|
|||||||
|
|
||||||
from authentik.blueprints.v1.importer import Importer
|
from authentik.blueprints.v1.importer import Importer
|
||||||
from authentik.core.models import User
|
from authentik.core.models import User
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.models import Flow
|
from authentik.flows.models import Flow
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.tests.utils import load_fixture
|
from authentik.lib.tests.utils import load_fixture
|
||||||
from authentik.rbac.models import Role
|
from authentik.rbac.models import Role
|
||||||
|
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
from django.test import TransactionTestCase
|
from django.test import TransactionTestCase
|
||||||
|
|
||||||
from authentik.blueprints.v1.importer import Importer
|
from authentik.blueprints.v1.importer import Importer
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.models import Flow
|
from authentik.flows.models import Flow
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.tests.utils import load_fixture
|
from authentik.lib.tests.utils import load_fixture
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,8 +8,8 @@ from yaml import dump
|
|||||||
|
|
||||||
from authentik.blueprints.models import BlueprintInstance, BlueprintInstanceStatus
|
from authentik.blueprints.models import BlueprintInstance, BlueprintInstanceStatus
|
||||||
from authentik.blueprints.v1.tasks import apply_blueprint, blueprints_discovery, blueprints_find
|
from authentik.blueprints.v1.tasks import apply_blueprint, blueprints_discovery, blueprints_find
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.lib.config import CONFIG
|
from authentik.lib.config import CONFIG
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
|
|
||||||
TMP = mkdtemp("authentik-blueprints")
|
TMP = mkdtemp("authentik-blueprints")
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@ from rest_framework.fields import Field
|
|||||||
from rest_framework.serializers import Serializer
|
from rest_framework.serializers import Serializer
|
||||||
from yaml import SafeDumper, SafeLoader, ScalarNode, SequenceNode
|
from yaml import SafeDumper, SafeLoader, ScalarNode, SequenceNode
|
||||||
|
|
||||||
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.lib.models import SerializerModel
|
from authentik.lib.models import SerializerModel
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
|
||||||
from authentik.policies.models import PolicyBindingModel
|
from authentik.policies.models import PolicyBindingModel
|
||||||
|
|
||||||
|
|
||||||
@ -661,7 +661,7 @@ class BlueprintLoader(SafeLoader):
|
|||||||
self.add_constructor("!AtIndex", AtIndex)
|
self.add_constructor("!AtIndex", AtIndex)
|
||||||
|
|
||||||
|
|
||||||
class EntryInvalidError(SentryIgnoredException):
|
class EntryInvalidError(NotReportedException):
|
||||||
"""Error raised when an entry is invalid"""
|
"""Error raised when an entry is invalid"""
|
||||||
|
|
||||||
entry_model: str | None
|
entry_model: str | None
|
||||||
|
@ -28,12 +28,12 @@ from authentik.blueprints.v1.common import (
|
|||||||
EntryInvalidError,
|
EntryInvalidError,
|
||||||
)
|
)
|
||||||
from authentik.blueprints.v1.meta.registry import BaseMetaModel, registry
|
from authentik.blueprints.v1.meta.registry import BaseMetaModel, registry
|
||||||
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.core.models import User
|
from authentik.core.models import User
|
||||||
from authentik.enterprise.license import LicenseKey
|
from authentik.enterprise.license import LicenseKey
|
||||||
from authentik.events.logs import LogEvent, capture_logs
|
from authentik.events.logs import LogEvent, capture_logs
|
||||||
from authentik.events.utils import cleanse_dict
|
from authentik.events.utils import cleanse_dict
|
||||||
from authentik.lib.models import SerializerModel, excluded_models
|
from authentik.lib.models import SerializerModel, excluded_models
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
|
||||||
from authentik.lib.utils.reflection import get_apps
|
from authentik.lib.utils.reflection import get_apps
|
||||||
from authentik.rbac.models import Role
|
from authentik.rbac.models import Role
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ def is_model_allowed(model: type[Model]) -> bool:
|
|||||||
return model not in excluded_models() and issubclass(model, SerializerModel | BaseMetaModel)
|
return model not in excluded_models() and issubclass(model, SerializerModel | BaseMetaModel)
|
||||||
|
|
||||||
|
|
||||||
class DoRollback(SentryIgnoredException):
|
class DoRollback(NotReportedException):
|
||||||
"""Exception to trigger a rollback"""
|
"""Exception to trigger a rollback"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,14 +16,14 @@ from requests.exceptions import RequestException
|
|||||||
from structlog import get_logger
|
from structlog import get_logger
|
||||||
from structlog.stdlib import BoundLogger
|
from structlog.stdlib import BoundLogger
|
||||||
|
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.lib.utils.http import authentik_user_agent
|
from authentik.lib.utils.http import authentik_user_agent
|
||||||
|
|
||||||
OCI_MEDIA_TYPE = "application/vnd.goauthentik.blueprint.v1+yaml"
|
OCI_MEDIA_TYPE = "application/vnd.goauthentik.blueprint.v1+yaml"
|
||||||
OCI_PREFIX = "oci://"
|
OCI_PREFIX = "oci://"
|
||||||
|
|
||||||
|
|
||||||
class OCIException(SentryIgnoredException):
|
class OCIException(NotReportedException):
|
||||||
"""OCI-related errors"""
|
"""OCI-related errors"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ from authentik.brands.api import Themes
|
|||||||
from authentik.brands.models import Brand
|
from authentik.brands.models import Brand
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_brand
|
from authentik.core.tests.utils import create_test_admin_user, create_test_brand
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider
|
from authentik.providers.oauth2.models import OAuth2Provider
|
||||||
from authentik.providers.saml.models import SAMLProvider
|
from authentik.providers.saml.models import SAMLProvider
|
||||||
|
|
||||||
|
7
authentik/common/exceptions.py
Normal file
7
authentik/common/exceptions.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
class AuthentikException(Exception):
|
||||||
|
"""Base class for authentik exceptions"""
|
||||||
|
|
||||||
|
|
||||||
|
class NotReportedException(AuthentikException):
|
||||||
|
"""Exception base class for all errors that are suppressed,
|
||||||
|
and not sent to any kind of monitoring."""
|
@ -19,7 +19,7 @@ from sentry_sdk.tracing import Span
|
|||||||
from structlog.stdlib import get_logger
|
from structlog.stdlib import get_logger
|
||||||
|
|
||||||
from authentik.common.expression.exceptions import ControlFlowException
|
from authentik.common.expression.exceptions import ControlFlowException
|
||||||
from authentik.core.models import AuthenticatedSession, User
|
from authentik.core.models import User
|
||||||
from authentik.events.models import Event
|
from authentik.events.models import Event
|
||||||
from authentik.lib.utils.http import get_http_session
|
from authentik.lib.utils.http import get_http_session
|
||||||
from authentik.lib.utils.time import timedelta_from_string
|
from authentik.lib.utils.time import timedelta_from_string
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from authentik.lib.sentry import SentryIgnoredException
|
from authentik.common.exceptions import NotReportedException
|
||||||
|
|
||||||
|
|
||||||
class ControlFlowException(SentryIgnoredException):
|
class ControlFlowException(NotReportedException):
|
||||||
"""Exceptions used to control the flow from exceptions, not reported as a warning/
|
"""Exceptions used to control the flow from exceptions, not reported as a warning/
|
||||||
error in logs"""
|
error in logs"""
|
||||||
|
@ -4,13 +4,13 @@ from urllib.parse import quote, urlparse
|
|||||||
|
|
||||||
from django.http import HttpRequest, HttpResponse, HttpResponseRedirect
|
from django.http import HttpRequest, HttpResponse, HttpResponseRedirect
|
||||||
|
|
||||||
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.events.models import Event, EventAction
|
from authentik.events.models import Event, EventAction
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
|
||||||
from authentik.lib.views import bad_request_message
|
from authentik.lib.views import bad_request_message
|
||||||
from authentik.providers.oauth2.models import GrantTypes, RedirectURI
|
from authentik.providers.oauth2.models import GrantTypes, RedirectURI
|
||||||
|
|
||||||
|
|
||||||
class OAuth2Error(SentryIgnoredException):
|
class OAuth2Error(NotReportedException):
|
||||||
"""Base class for all OAuth2 Errors"""
|
"""Base class for all OAuth2 Errors"""
|
||||||
|
|
||||||
error: str
|
error: str
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
"""authentik saml source exceptions"""
|
"""authentik saml source exceptions"""
|
||||||
|
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
from authentik.common.exceptions import NotReportedException
|
||||||
|
|
||||||
|
|
||||||
class SAMLException(SentryIgnoredException):
|
class SAMLException(NotReportedException):
|
||||||
"""Base SAML Exception"""
|
"""Base SAML Exception"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from authentik.lib.sentry import SentryIgnoredException
|
from authentik.common.exceptions import NotReportedException
|
||||||
|
|
||||||
|
|
||||||
class BaseSyncException(SentryIgnoredException):
|
class BaseSyncException(NotReportedException):
|
||||||
"""Base class for all sync exceptions"""
|
"""Base class for all sync exceptions"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
"""authentik core exceptions"""
|
"""authentik core exceptions"""
|
||||||
|
|
||||||
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.common.expression.exceptions import ControlFlowException
|
from authentik.common.expression.exceptions import ControlFlowException
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
|
||||||
|
|
||||||
|
|
||||||
class PropertyMappingExpressionException(SentryIgnoredException):
|
class PropertyMappingExpressionException(NotReportedException):
|
||||||
"""Error when a PropertyMapping Exception expression could not be parsed or evaluated."""
|
"""Error when a PropertyMapping Exception expression could not be parsed or evaluated."""
|
||||||
|
|
||||||
def __init__(self, exc: Exception, mapping) -> None:
|
def __init__(self, exc: Exception, mapping) -> None:
|
||||||
|
@ -5,7 +5,7 @@ from django.db import migrations, models
|
|||||||
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
|
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
|
||||||
|
|
||||||
import authentik.core.models
|
import authentik.core.models
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
|
|
||||||
|
|
||||||
def set_default_token_key(apps: Apps, schema_editor: BaseDatabaseSchemaEditor):
|
def set_default_token_key(apps: Apps, schema_editor: BaseDatabaseSchemaEditor):
|
||||||
|
@ -29,8 +29,8 @@ from authentik.blueprints.models import ManagedModel
|
|||||||
from authentik.common.expression.exceptions import ControlFlowException
|
from authentik.common.expression.exceptions import ControlFlowException
|
||||||
from authentik.core.expression.exceptions import PropertyMappingExpressionException
|
from authentik.core.expression.exceptions import PropertyMappingExpressionException
|
||||||
from authentik.core.types import UILoginButton, UserSettingSerializer
|
from authentik.core.types import UILoginButton, UserSettingSerializer
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.lib.avatars import get_avatar
|
from authentik.lib.avatars import get_avatar
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.merge import MERGE_LIST_UNIQUE
|
from authentik.lib.merge import MERGE_LIST_UNIQUE
|
||||||
from authentik.lib.models import (
|
from authentik.lib.models import (
|
||||||
CreatedUpdatedModel,
|
CreatedUpdatedModel,
|
||||||
|
@ -6,7 +6,7 @@ from rest_framework.test import APITestCase
|
|||||||
|
|
||||||
from authentik.core.models import Application, ApplicationEntitlement, Group
|
from authentik.core.models import Application, ApplicationEntitlement, Group
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow, create_test_user
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow, create_test_user
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.policies.dummy.models import DummyPolicy
|
from authentik.policies.dummy.models import DummyPolicy
|
||||||
from authentik.policies.models import PolicyBinding
|
from authentik.policies.models import PolicyBinding
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider
|
from authentik.providers.oauth2.models import OAuth2Provider
|
||||||
|
@ -9,7 +9,7 @@ from rest_framework.test import APITestCase
|
|||||||
|
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.policies.dummy.models import DummyPolicy
|
from authentik.policies.dummy.models import DummyPolicy
|
||||||
from authentik.policies.models import PolicyBinding
|
from authentik.policies.models import PolicyBinding
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider, RedirectURI, RedirectURIMatchingMode
|
from authentik.providers.oauth2.models import OAuth2Provider, RedirectURI, RedirectURIMatchingMode
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
from django.test.testcases import TestCase
|
from django.test.testcases import TestCase
|
||||||
|
|
||||||
from authentik.core.models import Group, User
|
from authentik.core.models import Group, User
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
|
|
||||||
|
|
||||||
class TestGroups(TestCase):
|
class TestGroups(TestCase):
|
||||||
|
@ -6,7 +6,7 @@ from rest_framework.test import APITestCase
|
|||||||
|
|
||||||
from authentik.core.models import Group
|
from authentik.core.models import Group
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_user
|
from authentik.core.tests.utils import create_test_admin_user, create_test_user
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
|
|
||||||
|
|
||||||
class TestGroupsAPI(APITestCase):
|
class TestGroupsAPI(APITestCase):
|
||||||
|
@ -9,8 +9,8 @@ from authentik.core.expression.exceptions import (
|
|||||||
)
|
)
|
||||||
from authentik.core.models import PropertyMapping
|
from authentik.core.models import PropertyMapping
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.models import Event, EventAction
|
from authentik.events.models import Event, EventAction
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.policies.expression.models import ExpressionPolicy
|
from authentik.policies.expression.models import ExpressionPolicy
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ from rest_framework.test import APITestCase
|
|||||||
from authentik.core.api.property_mappings import PropertyMappingSerializer
|
from authentik.core.api.property_mappings import PropertyMappingSerializer
|
||||||
from authentik.core.models import Group, PropertyMapping
|
from authentik.core.models import Group, PropertyMapping
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
|
|
||||||
|
|
||||||
class TestPropertyMappingAPI(APITestCase):
|
class TestPropertyMappingAPI(APITestCase):
|
||||||
|
@ -9,9 +9,9 @@ from authentik.core.models import SourceUserMatchingModes, User
|
|||||||
from authentik.core.sources.flow_manager import Action
|
from authentik.core.sources.flow_manager import Action
|
||||||
from authentik.core.sources.stage import PostSourceStage
|
from authentik.core.sources.stage import PostSourceStage
|
||||||
from authentik.core.tests.utils import create_test_flow
|
from authentik.core.tests.utils import create_test_flow
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.planner import FlowPlan
|
from authentik.flows.planner import FlowPlan
|
||||||
from authentik.flows.views.executor import SESSION_KEY_PLAN
|
from authentik.flows.views.executor import SESSION_KEY_PLAN
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.tests.utils import get_request
|
from authentik.lib.tests.utils import get_request
|
||||||
from authentik.policies.denied import AccessDeniedResponse
|
from authentik.policies.denied import AccessDeniedResponse
|
||||||
from authentik.policies.expression.models import ExpressionPolicy
|
from authentik.policies.expression.models import ExpressionPolicy
|
||||||
|
@ -5,11 +5,11 @@ from django.test import RequestFactory
|
|||||||
from authentik.core.models import Group, SourceGroupMatchingModes
|
from authentik.core.models import Group, SourceGroupMatchingModes
|
||||||
from authentik.core.sources.flow_manager import PLAN_CONTEXT_SOURCE_GROUPS, GroupUpdateStage
|
from authentik.core.sources.flow_manager import PLAN_CONTEXT_SOURCE_GROUPS, GroupUpdateStage
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.models import in_memory_stage
|
from authentik.flows.models import in_memory_stage
|
||||||
from authentik.flows.planner import PLAN_CONTEXT_PENDING_USER, PLAN_CONTEXT_SOURCE, FlowPlan
|
from authentik.flows.planner import PLAN_CONTEXT_PENDING_USER, PLAN_CONTEXT_SOURCE, FlowPlan
|
||||||
from authentik.flows.tests import FlowTestCase
|
from authentik.flows.tests import FlowTestCase
|
||||||
from authentik.flows.views.executor import FlowExecutorView
|
from authentik.flows.views.executor import FlowExecutorView
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.sources.oauth.models import GroupOAuthSourceConnection, OAuthSource
|
from authentik.sources.oauth.models import GroupOAuthSourceConnection, OAuthSource
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ from django.test import TestCase
|
|||||||
|
|
||||||
from authentik.core.models import Group, PropertyMapping, Source, User
|
from authentik.core.models import Group, PropertyMapping, Source, User
|
||||||
from authentik.core.sources.mapper import SourceMapper
|
from authentik.core.sources.mapper import SourceMapper
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
|
|
||||||
|
|
||||||
class ProxySource(Source):
|
class ProxySource(Source):
|
||||||
|
@ -18,7 +18,7 @@ from authentik.core.tasks import (
|
|||||||
clean_temporary_users,
|
clean_temporary_users,
|
||||||
)
|
)
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
|
|
||||||
|
|
||||||
class TestTasks(APITestCase):
|
class TestTasks(APITestCase):
|
||||||
|
@ -15,7 +15,7 @@ from authentik.core.models import (
|
|||||||
TokenIntents,
|
TokenIntents,
|
||||||
)
|
)
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_user
|
from authentik.core.tests.utils import create_test_admin_user, create_test_user
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
|
|
||||||
|
|
||||||
class TestTokenAPI(APITestCase):
|
class TestTokenAPI(APITestCase):
|
||||||
|
@ -6,7 +6,7 @@ from rest_framework.test import APITestCase
|
|||||||
|
|
||||||
from authentik.core.models import Application, Group
|
from authentik.core.models import Application, Group
|
||||||
from authentik.core.tests.utils import create_test_flow, create_test_user
|
from authentik.core.tests.utils import create_test_flow, create_test_user
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.policies.models import PolicyBinding
|
from authentik.policies.models import PolicyBinding
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider
|
from authentik.providers.oauth2.models import OAuth2Provider
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@ from authentik.core.tests.utils import (
|
|||||||
create_test_flow,
|
create_test_flow,
|
||||||
create_test_user,
|
create_test_user,
|
||||||
)
|
)
|
||||||
|
from authentik.crypto.generators import generate_id, generate_key
|
||||||
from authentik.flows.models import FlowDesignation
|
from authentik.flows.models import FlowDesignation
|
||||||
from authentik.lib.generators import generate_id, generate_key
|
|
||||||
from authentik.stages.email.models import EmailStage
|
from authentik.stages.email.models import EmailStage
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,9 +5,9 @@ from django.utils.text import slugify
|
|||||||
from authentik.brands.models import Brand
|
from authentik.brands.models import Brand
|
||||||
from authentik.core.models import Group, User
|
from authentik.core.models import Group, User
|
||||||
from authentik.crypto.builder import CertificateBuilder, PrivateKeyAlg
|
from authentik.crypto.builder import CertificateBuilder, PrivateKeyAlg
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.crypto.models import CertificateKeyPair
|
from authentik.crypto.models import CertificateKeyPair
|
||||||
from authentik.flows.models import Flow, FlowDesignation
|
from authentik.flows.models import Flow, FlowDesignation
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
|
|
||||||
|
|
||||||
def create_test_flow(
|
def create_test_flow(
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
from datetime import UTC, datetime
|
from datetime import UTC, datetime
|
||||||
|
|
||||||
from authentik.blueprints.apps import ManagedAppConfig
|
from authentik.blueprints.apps import ManagedAppConfig
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
|
|
||||||
MANAGED_KEY = "goauthentik.io/crypto/jwt-managed"
|
MANAGED_KEY = "goauthentik.io/crypto/jwt-managed"
|
||||||
|
|
||||||
|
@ -14,10 +14,10 @@ from authentik.core.api.used_by import DeleteAction
|
|||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_cert, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_cert, create_test_flow
|
||||||
from authentik.crypto.api import CertificateKeyPairSerializer
|
from authentik.crypto.api import CertificateKeyPairSerializer
|
||||||
from authentik.crypto.builder import CertificateBuilder
|
from authentik.crypto.builder import CertificateBuilder
|
||||||
|
from authentik.crypto.generators import generate_id, generate_key
|
||||||
from authentik.crypto.models import CertificateKeyPair
|
from authentik.crypto.models import CertificateKeyPair
|
||||||
from authentik.crypto.tasks import MANAGED_DISCOVERED, certificate_discovery
|
from authentik.crypto.tasks import MANAGED_DISCOVERED, certificate_discovery
|
||||||
from authentik.lib.config import CONFIG
|
from authentik.lib.config import CONFIG
|
||||||
from authentik.lib.generators import generate_id, generate_key
|
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider, RedirectURI, RedirectURIMatchingMode
|
from authentik.providers.oauth2.models import OAuth2Provider, RedirectURI, RedirectURIMatchingMode
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,9 +7,9 @@ from rest_framework.test import APITestCase
|
|||||||
|
|
||||||
from authentik.core.models import Group, User
|
from authentik.core.models import Group, User
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.models import Event, EventAction
|
from authentik.events.models import Event, EventAction
|
||||||
from authentik.events.utils import sanitize_item
|
from authentik.events.utils import sanitize_item
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
|
|
||||||
|
|
||||||
class TestEnterpriseAudit(APITestCase):
|
class TestEnterpriseAudit(APITestCase):
|
||||||
|
@ -4,13 +4,13 @@ from django.contrib.auth.hashers import make_password
|
|||||||
from django.urls.base import reverse
|
from django.urls.base import reverse
|
||||||
|
|
||||||
from authentik.core.tests.utils import create_test_flow, create_test_user
|
from authentik.core.tests.utils import create_test_flow, create_test_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.policies.unique_password.models import (
|
from authentik.enterprise.policies.unique_password.models import (
|
||||||
UniquePasswordPolicy,
|
UniquePasswordPolicy,
|
||||||
UserPasswordHistory,
|
UserPasswordHistory,
|
||||||
)
|
)
|
||||||
from authentik.flows.models import FlowDesignation, FlowStageBinding
|
from authentik.flows.models import FlowDesignation, FlowStageBinding
|
||||||
from authentik.flows.tests import FlowTestCase
|
from authentik.flows.tests import FlowTestCase
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.stages.prompt.models import FieldTypes, Prompt, PromptStage
|
from authentik.stages.prompt.models import FieldTypes, Prompt, PromptStage
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ from django.urls import reverse
|
|||||||
|
|
||||||
from authentik.core.models import Group, Source, User
|
from authentik.core.models import Group, Source, User
|
||||||
from authentik.core.tests.utils import create_test_flow, create_test_user
|
from authentik.core.tests.utils import create_test_flow, create_test_user
|
||||||
|
from authentik.crypto.generators import generate_key
|
||||||
from authentik.enterprise.policies.unique_password.models import (
|
from authentik.enterprise.policies.unique_password.models import (
|
||||||
UniquePasswordPolicy,
|
UniquePasswordPolicy,
|
||||||
UserPasswordHistory,
|
UserPasswordHistory,
|
||||||
@ -11,7 +12,6 @@ from authentik.flows.models import FlowStageBinding
|
|||||||
from authentik.flows.planner import PLAN_CONTEXT_PENDING_USER, FlowPlan
|
from authentik.flows.planner import PLAN_CONTEXT_PENDING_USER, FlowPlan
|
||||||
from authentik.flows.tests import FlowTestCase
|
from authentik.flows.tests import FlowTestCase
|
||||||
from authentik.flows.views.executor import SESSION_KEY_PLAN
|
from authentik.flows.views.executor import SESSION_KEY_PLAN
|
||||||
from authentik.lib.generators import generate_key
|
|
||||||
from authentik.policies.models import PolicyBinding, PolicyBindingModel
|
from authentik.policies.models import PolicyBinding, PolicyBindingModel
|
||||||
from authentik.stages.prompt.stage import PLAN_CONTEXT_PROMPT
|
from authentik.stages.prompt.stage import PLAN_CONTEXT_PROMPT
|
||||||
from authentik.stages.user_write.models import UserWriteStage
|
from authentik.stages.user_write.models import UserWriteStage
|
||||||
|
@ -8,6 +8,7 @@ from authentik.blueprints.tests import apply_blueprint
|
|||||||
from authentik.common.sync.outgoing.models import OutgoingSyncDeleteAction
|
from authentik.common.sync.outgoing.models import OutgoingSyncDeleteAction
|
||||||
from authentik.core.models import Application, Group, User
|
from authentik.core.models import Application, Group, User
|
||||||
from authentik.core.tests.utils import create_test_user
|
from authentik.core.tests.utils import create_test_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.providers.google_workspace.clients.test_http import MockHTTP
|
from authentik.enterprise.providers.google_workspace.clients.test_http import MockHTTP
|
||||||
from authentik.enterprise.providers.google_workspace.models import (
|
from authentik.enterprise.providers.google_workspace.models import (
|
||||||
GoogleWorkspaceProvider,
|
GoogleWorkspaceProvider,
|
||||||
@ -16,7 +17,6 @@ from authentik.enterprise.providers.google_workspace.models import (
|
|||||||
)
|
)
|
||||||
from authentik.enterprise.providers.google_workspace.tasks import google_workspace_sync
|
from authentik.enterprise.providers.google_workspace.tasks import google_workspace_sync
|
||||||
from authentik.events.models import Event, EventAction
|
from authentik.events.models import Event, EventAction
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.tests.utils import load_fixture
|
from authentik.lib.tests.utils import load_fixture
|
||||||
from authentik.tenants.models import Tenant
|
from authentik.tenants.models import Tenant
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ from django.test import TestCase
|
|||||||
from authentik.blueprints.tests import apply_blueprint
|
from authentik.blueprints.tests import apply_blueprint
|
||||||
from authentik.common.sync.outgoing.models import OutgoingSyncDeleteAction
|
from authentik.common.sync.outgoing.models import OutgoingSyncDeleteAction
|
||||||
from authentik.core.models import Application, Group, User
|
from authentik.core.models import Application, Group, User
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.providers.google_workspace.clients.test_http import MockHTTP
|
from authentik.enterprise.providers.google_workspace.clients.test_http import MockHTTP
|
||||||
from authentik.enterprise.providers.google_workspace.models import (
|
from authentik.enterprise.providers.google_workspace.models import (
|
||||||
GoogleWorkspaceProvider,
|
GoogleWorkspaceProvider,
|
||||||
@ -16,7 +17,6 @@ from authentik.enterprise.providers.google_workspace.models import (
|
|||||||
)
|
)
|
||||||
from authentik.enterprise.providers.google_workspace.tasks import google_workspace_sync
|
from authentik.enterprise.providers.google_workspace.tasks import google_workspace_sync
|
||||||
from authentik.events.models import Event, EventAction
|
from authentik.events.models import Event, EventAction
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.tests.utils import load_fixture
|
from authentik.lib.tests.utils import load_fixture
|
||||||
from authentik.tenants.models import Tenant
|
from authentik.tenants.models import Tenant
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ from authentik.blueprints.tests import apply_blueprint
|
|||||||
from authentik.common.sync.outgoing.models import OutgoingSyncDeleteAction
|
from authentik.common.sync.outgoing.models import OutgoingSyncDeleteAction
|
||||||
from authentik.core.models import Application, Group, User
|
from authentik.core.models import Application, Group, User
|
||||||
from authentik.core.tests.utils import create_test_user
|
from authentik.core.tests.utils import create_test_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.providers.microsoft_entra.models import (
|
from authentik.enterprise.providers.microsoft_entra.models import (
|
||||||
MicrosoftEntraProvider,
|
MicrosoftEntraProvider,
|
||||||
MicrosoftEntraProviderGroup,
|
MicrosoftEntraProviderGroup,
|
||||||
@ -24,7 +25,6 @@ from authentik.enterprise.providers.microsoft_entra.models import (
|
|||||||
)
|
)
|
||||||
from authentik.enterprise.providers.microsoft_entra.tasks import microsoft_entra_sync
|
from authentik.enterprise.providers.microsoft_entra.tasks import microsoft_entra_sync
|
||||||
from authentik.events.models import Event, EventAction
|
from authentik.events.models import Event, EventAction
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.tenants.models import Tenant
|
from authentik.tenants.models import Tenant
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ from authentik.blueprints.tests import apply_blueprint
|
|||||||
from authentik.common.sync.outgoing.models import OutgoingSyncDeleteAction
|
from authentik.common.sync.outgoing.models import OutgoingSyncDeleteAction
|
||||||
from authentik.core.models import Application, Group, User
|
from authentik.core.models import Application, Group, User
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.providers.microsoft_entra.models import (
|
from authentik.enterprise.providers.microsoft_entra.models import (
|
||||||
MicrosoftEntraProvider,
|
MicrosoftEntraProvider,
|
||||||
MicrosoftEntraProviderMapping,
|
MicrosoftEntraProviderMapping,
|
||||||
@ -23,7 +24,6 @@ from authentik.enterprise.providers.microsoft_entra.models import (
|
|||||||
)
|
)
|
||||||
from authentik.enterprise.providers.microsoft_entra.tasks import microsoft_entra_sync
|
from authentik.enterprise.providers.microsoft_entra.tasks import microsoft_entra_sync
|
||||||
from authentik.events.models import Event, EventAction
|
from authentik.events.models import Event, EventAction
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.tenants.models import Tenant
|
from authentik.tenants.models import Tenant
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,10 +5,10 @@ from rest_framework.test import APITestCase
|
|||||||
|
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_cert
|
from authentik.core.tests.utils import create_test_cert
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.providers.ssf.models import (
|
from authentik.enterprise.providers.ssf.models import (
|
||||||
SSFProvider,
|
SSFProvider,
|
||||||
)
|
)
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
|
|
||||||
|
|
||||||
class TestConfiguration(APITestCase):
|
class TestConfiguration(APITestCase):
|
||||||
|
@ -11,8 +11,8 @@ from jwt import PyJWKSet
|
|||||||
|
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_cert
|
from authentik.core.tests.utils import create_test_cert
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.providers.ssf.models import SSFProvider
|
from authentik.enterprise.providers.ssf.models import SSFProvider
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
|
|
||||||
|
|
||||||
class TestJWKS(TestCase):
|
class TestJWKS(TestCase):
|
||||||
|
@ -8,6 +8,7 @@ from authentik.core.tests.utils import (
|
|||||||
create_test_cert,
|
create_test_cert,
|
||||||
create_test_user,
|
create_test_user,
|
||||||
)
|
)
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.providers.ssf.models import (
|
from authentik.enterprise.providers.ssf.models import (
|
||||||
EventTypes,
|
EventTypes,
|
||||||
SSFEventStatus,
|
SSFEventStatus,
|
||||||
@ -15,7 +16,6 @@ from authentik.enterprise.providers.ssf.models import (
|
|||||||
Stream,
|
Stream,
|
||||||
StreamEvent,
|
StreamEvent,
|
||||||
)
|
)
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.policies.models import PolicyBinding
|
from authentik.policies.models import PolicyBinding
|
||||||
from authentik.stages.authenticator_webauthn.models import WebAuthnDevice
|
from authentik.stages.authenticator_webauthn.models import WebAuthnDevice
|
||||||
|
|
||||||
|
@ -7,13 +7,13 @@ from rest_framework.test import APITestCase
|
|||||||
|
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_cert, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_cert, create_test_flow
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.providers.ssf.models import (
|
from authentik.enterprise.providers.ssf.models import (
|
||||||
SSFEventStatus,
|
SSFEventStatus,
|
||||||
SSFProvider,
|
SSFProvider,
|
||||||
Stream,
|
Stream,
|
||||||
StreamEvent,
|
StreamEvent,
|
||||||
)
|
)
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.providers.oauth2.id_token import IDToken
|
from authentik.providers.oauth2.id_token import IDToken
|
||||||
from authentik.providers.oauth2.models import AccessToken, OAuth2Provider
|
from authentik.providers.oauth2.models import AccessToken, OAuth2Provider
|
||||||
|
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
from authentik.core.tests.utils import create_test_flow, create_test_user
|
from authentik.core.tests.utils import create_test_flow, create_test_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.stages.source.models import SourceStage
|
from authentik.enterprise.stages.source.models import SourceStage
|
||||||
from authentik.enterprise.stages.source.stage import SourceStageFinal
|
from authentik.enterprise.stages.source.stage import SourceStageFinal
|
||||||
from authentik.flows.models import FlowDesignation, FlowStageBinding, FlowToken, in_memory_stage
|
from authentik.flows.models import FlowDesignation, FlowStageBinding, FlowToken, in_memory_stage
|
||||||
from authentik.flows.planner import PLAN_CONTEXT_IS_RESTORED, FlowPlan
|
from authentik.flows.planner import PLAN_CONTEXT_IS_RESTORED, FlowPlan
|
||||||
from authentik.flows.tests import FlowTestCase
|
from authentik.flows.tests import FlowTestCase
|
||||||
from authentik.flows.views.executor import SESSION_KEY_PLAN
|
from authentik.flows.views.executor import SESSION_KEY_PLAN
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.sources.saml.models import SAMLSource
|
from authentik.sources.saml.models import SAMLSource
|
||||||
from authentik.stages.identification.models import IdentificationStage, UserFields
|
from authentik.stages.identification.models import IdentificationStage, UserFields
|
||||||
from authentik.stages.password import BACKEND_INBUILT
|
from authentik.stages.password import BACKEND_INBUILT
|
||||||
|
@ -8,6 +8,7 @@ from django.test import TestCase
|
|||||||
from django.utils.timezone import now
|
from django.utils.timezone import now
|
||||||
from rest_framework.exceptions import ValidationError
|
from rest_framework.exceptions import ValidationError
|
||||||
|
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.license import LicenseKey
|
from authentik.enterprise.license import LicenseKey
|
||||||
from authentik.enterprise.models import (
|
from authentik.enterprise.models import (
|
||||||
THRESHOLD_READ_ONLY_WEEKS,
|
THRESHOLD_READ_ONLY_WEEKS,
|
||||||
@ -17,7 +18,6 @@ from authentik.enterprise.models import (
|
|||||||
LicenseUsage,
|
LicenseUsage,
|
||||||
LicenseUsageStatus,
|
LicenseUsageStatus,
|
||||||
)
|
)
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
|
|
||||||
# Valid license expiry
|
# Valid license expiry
|
||||||
expiry_valid = int(mktime((now() + timedelta(days=3000)).timetuple()))
|
expiry_valid = int(mktime((now() + timedelta(days=3000)).timetuple()))
|
||||||
|
@ -7,6 +7,7 @@ from django.urls import reverse
|
|||||||
from django.utils.timezone import now
|
from django.utils.timezone import now
|
||||||
|
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow, create_test_user
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow, create_test_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.enterprise.license import LicenseKey
|
from authentik.enterprise.license import LicenseKey
|
||||||
from authentik.enterprise.models import (
|
from authentik.enterprise.models import (
|
||||||
THRESHOLD_READ_ONLY_WEEKS,
|
THRESHOLD_READ_ONLY_WEEKS,
|
||||||
@ -20,7 +21,6 @@ from authentik.flows.models import (
|
|||||||
FlowStageBinding,
|
FlowStageBinding,
|
||||||
)
|
)
|
||||||
from authentik.flows.tests import FlowTestCase
|
from authentik.flows.tests import FlowTestCase
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.stages.identification.models import IdentificationStage, UserFields
|
from authentik.stages.identification.models import IdentificationStage, UserFields
|
||||||
from authentik.stages.password import BACKEND_INBUILT
|
from authentik.stages.password import BACKEND_INBUILT
|
||||||
from authentik.stages.password.models import PasswordStage
|
from authentik.stages.password.models import PasswordStage
|
||||||
|
@ -19,8 +19,8 @@ from authentik.core.models import Group, User
|
|||||||
from authentik.events.models import Event, EventAction, Notification
|
from authentik.events.models import Event, EventAction, Notification
|
||||||
from authentik.events.utils import model_to_dict
|
from authentik.events.utils import model_to_dict
|
||||||
from authentik.lib.models import excluded_models
|
from authentik.lib.models import excluded_models
|
||||||
from authentik.lib.sentry import before_send
|
|
||||||
from authentik.lib.utils.errors import exception_to_string
|
from authentik.lib.utils.errors import exception_to_string
|
||||||
|
from authentik.root.sentry import should_ignore_exception
|
||||||
from authentik.stages.authenticator_static.models import StaticToken
|
from authentik.stages.authenticator_static.models import StaticToken
|
||||||
|
|
||||||
IGNORED_MODELS = tuple(
|
IGNORED_MODELS = tuple(
|
||||||
@ -173,7 +173,7 @@ class AuditMiddleware:
|
|||||||
message=exception_to_string(exception),
|
message=exception_to_string(exception),
|
||||||
)
|
)
|
||||||
thread.run()
|
thread.run()
|
||||||
elif before_send({}, {"exc_info": (None, exception, None)}) is not None:
|
elif not should_ignore_exception(exception):
|
||||||
thread = EventNewThread(
|
thread = EventNewThread(
|
||||||
EventAction.SYSTEM_EXCEPTION,
|
EventAction.SYSTEM_EXCEPTION,
|
||||||
request,
|
request,
|
||||||
|
@ -27,6 +27,7 @@ from structlog.stdlib import get_logger
|
|||||||
from authentik import get_full_version
|
from authentik import get_full_version
|
||||||
from authentik.brands.models import Brand
|
from authentik.brands.models import Brand
|
||||||
from authentik.brands.utils import DEFAULT_BRAND
|
from authentik.brands.utils import DEFAULT_BRAND
|
||||||
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.core.middleware import (
|
from authentik.core.middleware import (
|
||||||
SESSION_KEY_IMPERSONATE_ORIGINAL_USER,
|
SESSION_KEY_IMPERSONATE_ORIGINAL_USER,
|
||||||
SESSION_KEY_IMPERSONATE_USER,
|
SESSION_KEY_IMPERSONATE_USER,
|
||||||
@ -46,7 +47,6 @@ from authentik.lib.models import (
|
|||||||
SerializerModel,
|
SerializerModel,
|
||||||
internal_model,
|
internal_model,
|
||||||
)
|
)
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
|
||||||
from authentik.lib.utils.http import get_http_session
|
from authentik.lib.utils.http import get_http_session
|
||||||
from authentik.lib.utils.time import timedelta_from_string
|
from authentik.lib.utils.time import timedelta_from_string
|
||||||
from authentik.policies.models import PolicyBindingModel
|
from authentik.policies.models import PolicyBindingModel
|
||||||
@ -81,7 +81,7 @@ def django_app_names() -> list[str]:
|
|||||||
return [x.name for x in apps.app_configs.values()]
|
return [x.name for x in apps.app_configs.values()]
|
||||||
|
|
||||||
|
|
||||||
class NotificationTransportError(SentryIgnoredException):
|
class NotificationTransportError(NotReportedException):
|
||||||
"""Error raised when a notification fails to be delivered"""
|
"""Error raised when a notification fails to be delivered"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ from django.urls import reverse
|
|||||||
from rest_framework.test import APITestCase
|
from rest_framework.test import APITestCase
|
||||||
|
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.models import (
|
from authentik.events.models import (
|
||||||
Event,
|
Event,
|
||||||
EventAction,
|
EventAction,
|
||||||
@ -14,7 +15,6 @@ from authentik.events.models import (
|
|||||||
TransportMode,
|
TransportMode,
|
||||||
)
|
)
|
||||||
from authentik.events.utils import model_to_dict
|
from authentik.events.utils import model_to_dict
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider
|
from authentik.providers.oauth2.models import OAuth2Provider
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,9 +9,9 @@ from guardian.shortcuts import get_anonymous_user
|
|||||||
|
|
||||||
from authentik.brands.models import Brand
|
from authentik.brands.models import Brand
|
||||||
from authentik.core.models import Group
|
from authentik.core.models import Group
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.models import Event
|
from authentik.events.models import Event
|
||||||
from authentik.flows.views.executor import QS_QUERY
|
from authentik.flows.views.executor import QS_QUERY
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.policies.dummy.models import DummyPolicy
|
from authentik.policies.dummy.models import DummyPolicy
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,9 +5,9 @@ from rest_framework.test import APITestCase
|
|||||||
|
|
||||||
from authentik.core.models import Application, Token, TokenIntents
|
from authentik.core.models import Application, Token, TokenIntents
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.middleware import audit_ignore, audit_overwrite_user
|
from authentik.events.middleware import audit_ignore, audit_overwrite_user
|
||||||
from authentik.events.models import Event, EventAction
|
from authentik.events.models import Event, EventAction
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
|
|
||||||
|
|
||||||
class TestEventsMiddleware(APITestCase):
|
class TestEventsMiddleware(APITestCase):
|
||||||
|
@ -6,6 +6,7 @@ from django.urls import reverse
|
|||||||
from rest_framework.test import APITestCase
|
from rest_framework.test import APITestCase
|
||||||
|
|
||||||
from authentik.core.models import Group, User
|
from authentik.core.models import Group, User
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.models import (
|
from authentik.events.models import (
|
||||||
Event,
|
Event,
|
||||||
EventAction,
|
EventAction,
|
||||||
@ -16,7 +17,6 @@ from authentik.events.models import (
|
|||||||
NotificationWebhookMapping,
|
NotificationWebhookMapping,
|
||||||
TransportMode,
|
TransportMode,
|
||||||
)
|
)
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.policies.event_matcher.models import EventMatcherPolicy
|
from authentik.policies.event_matcher.models import EventMatcherPolicy
|
||||||
from authentik.policies.exceptions import PolicyException
|
from authentik.policies.exceptions import PolicyException
|
||||||
from authentik.policies.models import PolicyBinding
|
from authentik.policies.models import PolicyBinding
|
||||||
|
@ -7,10 +7,10 @@ from rest_framework.test import APITestCase
|
|||||||
|
|
||||||
from authentik.core.tasks import clean_expired_models
|
from authentik.core.tasks import clean_expired_models
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.models import SystemTask as DBSystemTask
|
from authentik.events.models import SystemTask as DBSystemTask
|
||||||
from authentik.events.models import TaskStatus
|
from authentik.events.models import TaskStatus
|
||||||
from authentik.events.system_tasks import SystemTask
|
from authentik.events.system_tasks import SystemTask
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.root.celery import CELERY_APP
|
from authentik.root.celery import CELERY_APP
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ from requests_mock import Mocker
|
|||||||
|
|
||||||
from authentik import get_full_version
|
from authentik import get_full_version
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.models import (
|
from authentik.events.models import (
|
||||||
Event,
|
Event,
|
||||||
Notification,
|
Notification,
|
||||||
@ -17,7 +18,6 @@ from authentik.events.models import (
|
|||||||
NotificationWebhookMapping,
|
NotificationWebhookMapping,
|
||||||
TransportMode,
|
TransportMode,
|
||||||
)
|
)
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
|
|
||||||
|
|
||||||
class TestEventTransports(TestCase):
|
class TestEventTransports(TestCase):
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.policies.types import PolicyResult
|
from authentik.policies.types import PolicyResult
|
||||||
|
|
||||||
|
|
||||||
class FlowNonApplicableException(SentryIgnoredException):
|
class FlowNonApplicableException(NotReportedException):
|
||||||
"""Flow does not apply to current user (denied by policy, or otherwise)."""
|
"""Flow does not apply to current user (denied by policy, or otherwise)."""
|
||||||
|
|
||||||
policy_result: PolicyResult | None = None
|
policy_result: PolicyResult | None = None
|
||||||
@ -19,14 +19,14 @@ class FlowNonApplicableException(SentryIgnoredException):
|
|||||||
return "\n".join(self.policy_result.messages)
|
return "\n".join(self.policy_result.messages)
|
||||||
|
|
||||||
|
|
||||||
class EmptyFlowException(SentryIgnoredException):
|
class EmptyFlowException(NotReportedException):
|
||||||
"""Flow has no stages."""
|
"""Flow has no stages."""
|
||||||
|
|
||||||
|
|
||||||
class FlowSkipStageException(SentryIgnoredException):
|
class FlowSkipStageException(NotReportedException):
|
||||||
"""Exception to skip a stage"""
|
"""Exception to skip a stage"""
|
||||||
|
|
||||||
|
|
||||||
class StageInvalidException(SentryIgnoredException):
|
class StageInvalidException(NotReportedException):
|
||||||
"""Exception can be thrown in a `Challenge` or `ChallengeResponse` serializer's
|
"""Exception can be thrown in a `Challenge` or `ChallengeResponse` serializer's
|
||||||
validation to trigger a `executor.stage_invalid()` response"""
|
validation to trigger a `executor.stage_invalid()` response"""
|
||||||
|
@ -6,9 +6,9 @@ from django.urls import reverse
|
|||||||
from rest_framework.test import APITestCase
|
from rest_framework.test import APITestCase
|
||||||
|
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.api.stages import StageSerializer, StageViewSet
|
from authentik.flows.api.stages import StageSerializer, StageViewSet
|
||||||
from authentik.flows.models import Flow, FlowDesignation, FlowStageBinding, Stage
|
from authentik.flows.models import Flow, FlowDesignation, FlowStageBinding, Stage
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.policies.dummy.models import DummyPolicy
|
from authentik.policies.dummy.models import DummyPolicy
|
||||||
from authentik.policies.models import PolicyBinding
|
from authentik.policies.models import PolicyBinding
|
||||||
from authentik.stages.dummy.models import DummyStage
|
from authentik.stages.dummy.models import DummyStage
|
||||||
|
@ -9,6 +9,7 @@ from django.urls import reverse
|
|||||||
|
|
||||||
from authentik.core.models import Group, User
|
from authentik.core.models import Group, User
|
||||||
from authentik.core.tests.utils import create_test_flow, create_test_user
|
from authentik.core.tests.utils import create_test_flow, create_test_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.markers import ReevaluateMarker, StageMarker
|
from authentik.flows.markers import ReevaluateMarker, StageMarker
|
||||||
from authentik.flows.models import (
|
from authentik.flows.models import (
|
||||||
FlowDeniedAction,
|
FlowDeniedAction,
|
||||||
@ -25,7 +26,6 @@ from authentik.flows.views.executor import (
|
|||||||
SESSION_KEY_PLAN,
|
SESSION_KEY_PLAN,
|
||||||
FlowExecutorView,
|
FlowExecutorView,
|
||||||
)
|
)
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.policies.dummy.models import DummyPolicy
|
from authentik.policies.dummy.models import DummyPolicy
|
||||||
from authentik.policies.models import PolicyBinding
|
from authentik.policies.models import PolicyBinding
|
||||||
from authentik.policies.reputation.models import ReputationPolicy
|
from authentik.policies.reputation.models import ReputationPolicy
|
||||||
|
@ -7,8 +7,8 @@ from django.urls.base import reverse
|
|||||||
from rest_framework.test import APITestCase
|
from rest_framework.test import APITestCase
|
||||||
|
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.models import FlowDesignation, FlowStageBinding, InvalidResponseAction
|
from authentik.flows.models import FlowDesignation, FlowStageBinding, InvalidResponseAction
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.stages.dummy.models import DummyStage
|
from authentik.stages.dummy.models import DummyStage
|
||||||
from authentik.stages.identification.models import IdentificationStage, UserFields
|
from authentik.stages.identification.models import IdentificationStage, UserFields
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ from guardian.shortcuts import get_anonymous_user
|
|||||||
from authentik.blueprints.tests import reconcile_app
|
from authentik.blueprints.tests import reconcile_app
|
||||||
from authentik.core.models import User
|
from authentik.core.models import User
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.exceptions import EmptyFlowException, FlowNonApplicableException
|
from authentik.flows.exceptions import EmptyFlowException, FlowNonApplicableException
|
||||||
from authentik.flows.markers import ReevaluateMarker, StageMarker
|
from authentik.flows.markers import ReevaluateMarker, StageMarker
|
||||||
from authentik.flows.models import (
|
from authentik.flows.models import (
|
||||||
@ -29,7 +30,6 @@ from authentik.flows.planner import (
|
|||||||
cache_key,
|
cache_key,
|
||||||
)
|
)
|
||||||
from authentik.flows.stage import StageView
|
from authentik.flows.stage import StageView
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.tests.utils import dummy_get_response
|
from authentik.lib.tests.utils import dummy_get_response
|
||||||
from authentik.outposts.apps import MANAGED_OUTPOST
|
from authentik.outposts.apps import MANAGED_OUTPOST
|
||||||
from authentik.outposts.models import Outpost
|
from authentik.outposts.models import Outpost
|
||||||
|
@ -5,10 +5,10 @@ from django.urls import reverse
|
|||||||
|
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_flow
|
from authentik.core.tests.utils import create_test_flow
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.models import Flow, FlowDesignation
|
from authentik.flows.models import Flow, FlowDesignation
|
||||||
from authentik.flows.planner import FlowPlan
|
from authentik.flows.planner import FlowPlan
|
||||||
from authentik.flows.views.executor import SESSION_KEY_APPLICATION_PRE, SESSION_KEY_PLAN
|
from authentik.flows.views.executor import SESSION_KEY_APPLICATION_PRE, SESSION_KEY_PLAN
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider
|
from authentik.providers.oauth2.models import OAuth2Provider
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ from sentry_sdk.api import set_tag
|
|||||||
from structlog.stdlib import BoundLogger, get_logger
|
from structlog.stdlib import BoundLogger, get_logger
|
||||||
|
|
||||||
from authentik.brands.models import Brand
|
from authentik.brands.models import Brand
|
||||||
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.events.models import Event, EventAction, cleanse_dict
|
from authentik.events.models import Event, EventAction, cleanse_dict
|
||||||
from authentik.flows.apps import HIST_FLOW_EXECUTION_STAGE_TIME
|
from authentik.flows.apps import HIST_FLOW_EXECUTION_STAGE_TIME
|
||||||
@ -55,7 +56,6 @@ from authentik.flows.planner import (
|
|||||||
FlowPlanner,
|
FlowPlanner,
|
||||||
)
|
)
|
||||||
from authentik.flows.stage import AccessDeniedStage, StageView
|
from authentik.flows.stage import AccessDeniedStage, StageView
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
|
||||||
from authentik.lib.utils.errors import exception_to_string
|
from authentik.lib.utils.errors import exception_to_string
|
||||||
from authentik.lib.utils.reflection import all_subclasses, class_to_path
|
from authentik.lib.utils.reflection import all_subclasses, class_to_path
|
||||||
from authentik.lib.utils.urls import is_url_absolute, redirect_with_qs
|
from authentik.lib.utils.urls import is_url_absolute, redirect_with_qs
|
||||||
@ -93,7 +93,7 @@ def challenge_response_types():
|
|||||||
return mapping
|
return mapping
|
||||||
|
|
||||||
|
|
||||||
class InvalidStageError(SentryIgnoredException):
|
class InvalidStageError(NotReportedException):
|
||||||
"""Error raised when a challenge from a stage is not valid"""
|
"""Error raised when a challenge from a stage is not valid"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,8 +7,8 @@ from jwt import decode
|
|||||||
from authentik.blueprints.tests import apply_blueprint
|
from authentik.blueprints.tests import apply_blueprint
|
||||||
from authentik.common.expression.evaluator import BaseEvaluator
|
from authentik.common.expression.evaluator import BaseEvaluator
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow, create_test_user
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow, create_test_user
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.models import Event
|
from authentik.events.models import Event
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider, ScopeMapping
|
from authentik.providers.oauth2.models import OAuth2Provider, ScopeMapping
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
|
||||||
from authentik.lib.sentry import SentryIgnoredException, before_send
|
from authentik.common.exceptions import NotReportedException, before_send
|
||||||
|
|
||||||
|
|
||||||
class TestSentry(TestCase):
|
class TestSentry(TestCase):
|
||||||
@ -10,7 +10,7 @@ class TestSentry(TestCase):
|
|||||||
|
|
||||||
def test_error_not_sent(self):
|
def test_error_not_sent(self):
|
||||||
"""Test SentryIgnoredError not sent"""
|
"""Test SentryIgnoredError not sent"""
|
||||||
self.assertIsNone(before_send({}, {"exc_info": (0, SentryIgnoredException(), 0)}))
|
self.assertIsNone(before_send({}, {"exc_info": (0, NotReportedException(), 0)}))
|
||||||
|
|
||||||
def test_error_sent(self):
|
def test_error_sent(self):
|
||||||
"""Test error sent"""
|
"""Test error sent"""
|
||||||
|
@ -5,9 +5,9 @@ from dataclasses import dataclass
|
|||||||
from structlog.stdlib import get_logger
|
from structlog.stdlib import get_logger
|
||||||
|
|
||||||
from authentik import __version__, get_build_hash
|
from authentik import __version__, get_build_hash
|
||||||
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.events.logs import LogEvent, capture_logs
|
from authentik.events.logs import LogEvent, capture_logs
|
||||||
from authentik.lib.config import CONFIG
|
from authentik.lib.config import CONFIG
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
|
||||||
from authentik.outposts.models import (
|
from authentik.outposts.models import (
|
||||||
Outpost,
|
Outpost,
|
||||||
OutpostServiceConnection,
|
OutpostServiceConnection,
|
||||||
@ -17,7 +17,7 @@ from authentik.outposts.models import (
|
|||||||
FIELD_MANAGER = "goauthentik.io"
|
FIELD_MANAGER = "goauthentik.io"
|
||||||
|
|
||||||
|
|
||||||
class ControllerException(SentryIgnoredException):
|
class ControllerException(NotReportedException):
|
||||||
"""Exception raised when anything fails during controller run"""
|
"""Exception raised when anything fails during controller run"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
"""exceptions used by the kubernetes reconciler to trigger updates"""
|
"""exceptions used by the kubernetes reconciler to trigger updates"""
|
||||||
|
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
from authentik.common.exceptions import NotReportedException
|
||||||
|
|
||||||
|
|
||||||
class ReconcileTrigger(SentryIgnoredException):
|
class ReconcileTrigger(NotReportedException):
|
||||||
"""Base trigger raised by child classes to notify us"""
|
"""Base trigger raised by child classes to notify us"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ from structlog.stdlib import get_logger
|
|||||||
from authentik import __version__, get_build_hash
|
from authentik import __version__, get_build_hash
|
||||||
from authentik.blueprints.models import ManagedModel
|
from authentik.blueprints.models import ManagedModel
|
||||||
from authentik.brands.models import Brand
|
from authentik.brands.models import Brand
|
||||||
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.core.models import (
|
from authentik.core.models import (
|
||||||
USER_PATH_SYSTEM_PREFIX,
|
USER_PATH_SYSTEM_PREFIX,
|
||||||
Provider,
|
Provider,
|
||||||
@ -38,7 +39,6 @@ from authentik.lib.models import (
|
|||||||
SerializerModel,
|
SerializerModel,
|
||||||
internal_model,
|
internal_model,
|
||||||
)
|
)
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
|
||||||
from authentik.lib.utils.errors import exception_to_string
|
from authentik.lib.utils.errors import exception_to_string
|
||||||
from authentik.outposts.controllers.k8s.utils import get_namespace
|
from authentik.outposts.controllers.k8s.utils import get_namespace
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ LOGGER = get_logger()
|
|||||||
USER_PATH_OUTPOSTS = USER_PATH_SYSTEM_PREFIX + "/outposts"
|
USER_PATH_OUTPOSTS = USER_PATH_SYSTEM_PREFIX + "/outposts"
|
||||||
|
|
||||||
|
|
||||||
class ServiceConnectionInvalid(SentryIgnoredException):
|
class ServiceConnectionInvalid(NotReportedException):
|
||||||
"""Exception raised when a Service Connection has invalid parameters"""
|
"""Exception raised when a Service Connection has invalid parameters"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ from rest_framework.test import APITestCase
|
|||||||
from authentik.blueprints.tests import reconcile_app
|
from authentik.blueprints.tests import reconcile_app
|
||||||
from authentik.core.models import PropertyMapping
|
from authentik.core.models import PropertyMapping
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.outposts.api.outposts import OutpostSerializer
|
from authentik.outposts.api.outposts import OutpostSerializer
|
||||||
from authentik.outposts.apps import MANAGED_OUTPOST
|
from authentik.outposts.apps import MANAGED_OUTPOST
|
||||||
from authentik.outposts.models import Outpost, OutpostType, default_outpost_config
|
from authentik.outposts.models import Outpost, OutpostType, default_outpost_config
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
|
||||||
from authentik.blueprints.tests import reconcile_app
|
from authentik.blueprints.tests import reconcile_app
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.outposts.apps import MANAGED_OUTPOST
|
from authentik.outposts.apps import MANAGED_OUTPOST
|
||||||
from authentik.outposts.controllers.k8s.deployment import DeploymentReconciler
|
from authentik.outposts.controllers.k8s.deployment import DeploymentReconciler
|
||||||
from authentik.outposts.controllers.kubernetes import KubernetesController
|
from authentik.outposts.controllers.kubernetes import KubernetesController
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
"""policy exceptions"""
|
"""policy exceptions"""
|
||||||
|
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
from authentik.common.exceptions import NotReportedException
|
||||||
|
|
||||||
|
|
||||||
class PolicyEngineException(SentryIgnoredException):
|
class PolicyEngineException(NotReportedException):
|
||||||
"""Error raised when a policy engine is configured incorrectly"""
|
"""Error raised when a policy engine is configured incorrectly"""
|
||||||
|
|
||||||
|
|
||||||
class PolicyException(SentryIgnoredException):
|
class PolicyException(NotReportedException):
|
||||||
"""Exception that should be raised during Policy Evaluation, and can be recovered from."""
|
"""Exception that should be raised during Policy Evaluation, and can be recovered from."""
|
||||||
|
|
||||||
src_exc: Exception | None = None
|
src_exc: Exception | None = None
|
||||||
|
@ -6,7 +6,7 @@ from rest_framework.serializers import ValidationError
|
|||||||
from rest_framework.test import APITestCase
|
from rest_framework.test import APITestCase
|
||||||
|
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.policies.exceptions import PolicyException
|
from authentik.policies.exceptions import PolicyException
|
||||||
from authentik.policies.expression.api import ExpressionPolicySerializer
|
from authentik.policies.expression.api import ExpressionPolicySerializer
|
||||||
from authentik.policies.expression.evaluator import PolicyEvaluator
|
from authentik.policies.expression.evaluator import PolicyEvaluator
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from authentik.lib.sentry import SentryIgnoredException
|
from authentik.common.exceptions import NotReportedException
|
||||||
|
|
||||||
|
|
||||||
class GeoIPNotFoundException(SentryIgnoredException):
|
class GeoIPNotFoundException(NotReportedException):
|
||||||
"""Exception raised when an IP is not found in a GeoIP database"""
|
"""Exception raised when an IP is not found in a GeoIP database"""
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
from django.urls.base import reverse
|
from django.urls.base import reverse
|
||||||
|
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.flows.models import FlowDesignation, FlowStageBinding
|
from authentik.flows.models import FlowDesignation, FlowStageBinding
|
||||||
from authentik.flows.tests import FlowTestCase
|
from authentik.flows.tests import FlowTestCase
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.policies.password.models import PasswordPolicy
|
from authentik.policies.password.models import PasswordPolicy
|
||||||
from authentik.stages.prompt.models import FieldTypes, Prompt, PromptStage
|
from authentik.stages.prompt.models import FieldTypes, Prompt, PromptStage
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from guardian.shortcuts import get_anonymous_user
|
from guardian.shortcuts import get_anonymous_user
|
||||||
|
|
||||||
from authentik.lib.generators import generate_key
|
from authentik.crypto.generators import generate_key
|
||||||
from authentik.policies.password.models import PasswordPolicy
|
from authentik.policies.password.models import PasswordPolicy
|
||||||
from authentik.policies.types import PolicyRequest, PolicyResult
|
from authentik.policies.types import PolicyRequest, PolicyResult
|
||||||
from authentik.stages.prompt.stage import PLAN_CONTEXT_PROMPT
|
from authentik.stages.prompt.stage import PLAN_CONTEXT_PROMPT
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from guardian.shortcuts import get_anonymous_user
|
from guardian.shortcuts import get_anonymous_user
|
||||||
|
|
||||||
from authentik.lib.generators import generate_key
|
from authentik.crypto.generators import generate_key
|
||||||
from authentik.policies.password.models import PasswordPolicy
|
from authentik.policies.password.models import PasswordPolicy
|
||||||
from authentik.policies.types import PolicyRequest, PolicyResult
|
from authentik.policies.types import PolicyRequest, PolicyResult
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from guardian.shortcuts import get_anonymous_user
|
from guardian.shortcuts import get_anonymous_user
|
||||||
|
|
||||||
from authentik.lib.generators import generate_key
|
from authentik.crypto.generators import generate_key
|
||||||
from authentik.policies.password.models import PasswordPolicy
|
from authentik.policies.password.models import PasswordPolicy
|
||||||
from authentik.policies.types import PolicyRequest, PolicyResult
|
from authentik.policies.types import PolicyRequest, PolicyResult
|
||||||
from authentik.stages.prompt.stage import PLAN_CONTEXT_PROMPT
|
from authentik.stages.prompt.stage import PLAN_CONTEXT_PROMPT
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
from django.test import RequestFactory, TestCase
|
from django.test import RequestFactory, TestCase
|
||||||
|
|
||||||
from authentik.core.models import User
|
from authentik.core.models import User
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.policies.reputation.api import ReputationPolicySerializer
|
from authentik.policies.reputation.api import ReputationPolicySerializer
|
||||||
from authentik.policies.reputation.models import Reputation, ReputationPolicy
|
from authentik.policies.reputation.models import Reputation, ReputationPolicy
|
||||||
from authentik.policies.reputation.signals import update_score
|
from authentik.policies.reputation.signals import update_score
|
||||||
|
@ -4,7 +4,7 @@ from django.core.cache import cache
|
|||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
|
||||||
from authentik.core.tests.utils import create_test_admin_user
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.policies.dummy.models import DummyPolicy
|
from authentik.policies.dummy.models import DummyPolicy
|
||||||
from authentik.policies.engine import PolicyEngine
|
from authentik.policies.engine import PolicyEngine
|
||||||
from authentik.policies.exceptions import PolicyEngineException
|
from authentik.policies.exceptions import PolicyEngineException
|
||||||
|
@ -8,8 +8,8 @@ from django.views.debug import SafeExceptionReporterFilter
|
|||||||
from guardian.shortcuts import get_anonymous_user
|
from guardian.shortcuts import get_anonymous_user
|
||||||
|
|
||||||
from authentik.core.models import Application, Group, User
|
from authentik.core.models import Application, Group, User
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.models import Event, EventAction
|
from authentik.events.models import Event, EventAction
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.policies.dummy.models import DummyPolicy
|
from authentik.policies.dummy.models import DummyPolicy
|
||||||
from authentik.policies.expression.models import ExpressionPolicy
|
from authentik.policies.expression.models import ExpressionPolicy
|
||||||
from authentik.policies.models import Policy, PolicyBinding
|
from authentik.policies.models import Policy, PolicyBinding
|
||||||
|
@ -10,9 +10,9 @@ from django.utils.translation import gettext as _
|
|||||||
from django.views.generic.base import View
|
from django.views.generic.base import View
|
||||||
from structlog.stdlib import get_logger
|
from structlog.stdlib import get_logger
|
||||||
|
|
||||||
|
from authentik.common.exceptions import NotReportedException
|
||||||
from authentik.core.models import Application, Provider, User
|
from authentik.core.models import Application, Provider, User
|
||||||
from authentik.flows.views.executor import SESSION_KEY_APPLICATION_PRE, SESSION_KEY_POST
|
from authentik.flows.views.executor import SESSION_KEY_APPLICATION_PRE, SESSION_KEY_POST
|
||||||
from authentik.lib.sentry import SentryIgnoredException
|
|
||||||
from authentik.policies.denied import AccessDeniedResponse
|
from authentik.policies.denied import AccessDeniedResponse
|
||||||
from authentik.policies.engine import PolicyEngine
|
from authentik.policies.engine import PolicyEngine
|
||||||
from authentik.policies.types import PolicyRequest, PolicyResult
|
from authentik.policies.types import PolicyRequest, PolicyResult
|
||||||
@ -20,7 +20,7 @@ from authentik.policies.types import PolicyRequest, PolicyResult
|
|||||||
LOGGER = get_logger()
|
LOGGER = get_logger()
|
||||||
|
|
||||||
|
|
||||||
class RequestValidationError(SentryIgnoredException):
|
class RequestValidationError(NotReportedException):
|
||||||
"""Error raised in pre_permission_check, when a request is invalid."""
|
"""Error raised in pre_permission_check, when a request is invalid."""
|
||||||
|
|
||||||
response: HttpResponse | None
|
response: HttpResponse | None
|
||||||
|
@ -7,7 +7,7 @@ from rest_framework.test import APITestCase
|
|||||||
|
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.providers.ldap.models import LDAPProvider
|
from authentik.providers.ldap.models import LDAPProvider
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,8 +16,8 @@ from authentik.common.oauth.constants import (
|
|||||||
AMR_WEBAUTHN,
|
AMR_WEBAUTHN,
|
||||||
)
|
)
|
||||||
from authentik.core.models import default_token_duration
|
from authentik.core.models import default_token_duration
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.signals import get_login_event
|
from authentik.events.signals import get_login_event
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.stages.password.stage import PLAN_CONTEXT_METHOD, PLAN_CONTEXT_METHOD_ARGS
|
from authentik.stages.password.stage import PLAN_CONTEXT_METHOD, PLAN_CONTEXT_METHOD_ARGS
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
@ -5,7 +5,7 @@ from django.conf import settings
|
|||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
|
||||||
import authentik.core.models
|
import authentik.core.models
|
||||||
import authentik.lib.generators
|
import authentik.crypto.generators
|
||||||
import authentik.lib.utils.time
|
import authentik.lib.utils.time
|
||||||
|
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ class Migration(migrations.Migration):
|
|||||||
(
|
(
|
||||||
"client_id",
|
"client_id",
|
||||||
models.CharField(
|
models.CharField(
|
||||||
default=authentik.lib.generators.generate_id,
|
default=authentik.crypto.generators.generate_id,
|
||||||
max_length=255,
|
max_length=255,
|
||||||
unique=True,
|
unique=True,
|
||||||
verbose_name="Client ID",
|
verbose_name="Client ID",
|
||||||
@ -66,7 +66,7 @@ class Migration(migrations.Migration):
|
|||||||
"client_secret",
|
"client_secret",
|
||||||
models.CharField(
|
models.CharField(
|
||||||
blank=True,
|
blank=True,
|
||||||
default=authentik.lib.generators.generate_key,
|
default=authentik.crypto.generators.generate_key,
|
||||||
max_length=255,
|
max_length=255,
|
||||||
verbose_name="Client Secret",
|
verbose_name="Client Secret",
|
||||||
),
|
),
|
||||||
|
@ -5,7 +5,7 @@ from django.conf import settings
|
|||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
|
||||||
import authentik.core.models
|
import authentik.core.models
|
||||||
import authentik.lib.generators
|
import authentik.crypto.generators
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
@ -29,10 +29,12 @@ class Migration(migrations.Migration):
|
|||||||
models.DateTimeField(default=authentik.core.models.default_token_duration),
|
models.DateTimeField(default=authentik.core.models.default_token_duration),
|
||||||
),
|
),
|
||||||
("expiring", models.BooleanField(default=True)),
|
("expiring", models.BooleanField(default=True)),
|
||||||
("device_code", models.TextField(default=authentik.lib.generators.generate_key)),
|
("device_code", models.TextField(default=authentik.crypto.generators.generate_key)),
|
||||||
(
|
(
|
||||||
"user_code",
|
"user_code",
|
||||||
models.TextField(default=authentik.lib.generators.generate_code_fixed_length),
|
models.TextField(
|
||||||
|
default=authentik.crypto.generators.generate_code_fixed_length
|
||||||
|
),
|
||||||
),
|
),
|
||||||
("_scope", models.TextField(default="", verbose_name="Scopes")),
|
("_scope", models.TextField(default="", verbose_name="Scopes")),
|
||||||
(
|
(
|
||||||
|
@ -5,7 +5,7 @@ from django.conf import settings
|
|||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
|
||||||
import authentik.core.models
|
import authentik.core.models
|
||||||
import authentik.lib.generators
|
import authentik.crypto.generators
|
||||||
import authentik.lib.utils.time
|
import authentik.lib.utils.time
|
||||||
|
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ class Migration(migrations.Migration):
|
|||||||
migrations.AddField(
|
migrations.AddField(
|
||||||
model_name="refreshtoken",
|
model_name="refreshtoken",
|
||||||
name="token",
|
name="token",
|
||||||
field=models.TextField(default=authentik.lib.generators.generate_key),
|
field=models.TextField(default=authentik.crypto.generators.generate_key),
|
||||||
),
|
),
|
||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name="oauth2provider",
|
model_name="oauth2provider",
|
||||||
|
@ -40,8 +40,8 @@ from authentik.core.models import (
|
|||||||
Provider,
|
Provider,
|
||||||
User,
|
User,
|
||||||
)
|
)
|
||||||
|
from authentik.crypto.generators import generate_code_fixed_length, generate_id, generate_key
|
||||||
from authentik.crypto.models import CertificateKeyPair
|
from authentik.crypto.models import CertificateKeyPair
|
||||||
from authentik.lib.generators import generate_code_fixed_length, generate_id, generate_key
|
|
||||||
from authentik.lib.models import SerializerModel, internal_model
|
from authentik.lib.models import SerializerModel, internal_model
|
||||||
from authentik.lib.utils.time import timedelta_string_validator
|
from authentik.lib.utils.time import timedelta_string_validator
|
||||||
from authentik.providers.oauth2.id_token import IDToken, SubModes
|
from authentik.providers.oauth2.id_token import IDToken, SubModes
|
||||||
|
@ -10,7 +10,7 @@ from rest_framework.test import APITestCase
|
|||||||
from authentik.blueprints.tests import apply_blueprint
|
from authentik.blueprints.tests import apply_blueprint
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.providers.oauth2.models import (
|
from authentik.providers.oauth2.models import (
|
||||||
OAuth2Provider,
|
OAuth2Provider,
|
||||||
RedirectURI,
|
RedirectURI,
|
||||||
|
@ -11,8 +11,8 @@ from authentik.common.oauth.constants import TOKEN_TYPE
|
|||||||
from authentik.common.oauth.errors import AuthorizeError, ClientIdError, RedirectUriError
|
from authentik.common.oauth.errors import AuthorizeError, ClientIdError, RedirectUriError
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.events.models import Event, EventAction
|
from authentik.events.models import Event, EventAction
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.lib.utils.time import timedelta_from_string
|
from authentik.lib.utils.time import timedelta_from_string
|
||||||
from authentik.providers.oauth2.models import (
|
from authentik.providers.oauth2.models import (
|
||||||
AccessToken,
|
AccessToken,
|
||||||
|
@ -6,7 +6,7 @@ from django.urls import reverse
|
|||||||
|
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_flow
|
from authentik.core.tests.utils import create_test_flow
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider
|
from authentik.providers.oauth2.models import OAuth2Provider
|
||||||
from authentik.providers.oauth2.tests.utils import OAuthTestCase
|
from authentik.providers.oauth2.tests.utils import OAuthTestCase
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ from rest_framework.test import APIClient
|
|||||||
|
|
||||||
from authentik.core.models import Application, Group
|
from authentik.core.models import Application, Group
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_brand, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_brand, create_test_flow
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.policies.models import PolicyBinding
|
from authentik.policies.models import PolicyBinding
|
||||||
from authentik.providers.oauth2.models import DeviceToken, OAuth2Provider
|
from authentik.providers.oauth2.models import DeviceToken, OAuth2Provider
|
||||||
from authentik.providers.oauth2.tests.utils import OAuthTestCase
|
from authentik.providers.oauth2.tests.utils import OAuthTestCase
|
||||||
|
@ -10,7 +10,7 @@ from django.utils import timezone
|
|||||||
from authentik.common.oauth.constants import ACR_AUTHENTIK_DEFAULT
|
from authentik.common.oauth.constants import ACR_AUTHENTIK_DEFAULT
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_cert, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_cert, create_test_flow
|
||||||
from authentik.lib.generators import generate_id
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.providers.oauth2.models import (
|
from authentik.providers.oauth2.models import (
|
||||||
AccessToken,
|
AccessToken,
|
||||||
IDToken,
|
IDToken,
|
||||||
|
@ -11,8 +11,8 @@ from jwt import PyJWKSet
|
|||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_cert, create_test_flow
|
from authentik.core.tests.utils import create_test_cert, create_test_flow
|
||||||
from authentik.crypto.builder import PrivateKeyAlg
|
from authentik.crypto.builder import PrivateKeyAlg
|
||||||
|
from authentik.crypto.generators import generate_id
|
||||||
from authentik.crypto.models import CertificateKeyPair
|
from authentik.crypto.models import CertificateKeyPair
|
||||||
from authentik.lib.generators import generate_id
|
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider, RedirectURI, RedirectURIMatchingMode
|
from authentik.providers.oauth2.models import OAuth2Provider, RedirectURI, RedirectURIMatchingMode
|
||||||
from authentik.providers.oauth2.tests.utils import OAuthTestCase
|
from authentik.providers.oauth2.tests.utils import OAuthTestCase
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user