-
-
Notifications
You must be signed in to change notification settings - Fork 909
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
flows: provider invalidation (#5048)
* add initial Signed-off-by: Jens Langhammer <[email protected]> Signed-off-by: Jens Langhammer <[email protected]> * add web stage for session end Signed-off-by: Jens Langhammer <[email protected]> * migrate saml and tests Signed-off-by: Jens Langhammer <[email protected]> * cleanup Signed-off-by: Jens Langhammer <[email protected]> * group flow settings when providers have multiple flows Signed-off-by: Jens Langhammer <[email protected]> * adjust name for default provider invalidation Signed-off-by: Jens Langhammer <[email protected]> * re-make migrations Signed-off-by: Jens Langhammer <[email protected]> * add invalidation_flow to saml importer Signed-off-by: Jens Langhammer <[email protected]> * re-do migrations again Signed-off-by: Jens Langhammer <[email protected]> * update web stuff to get rid of old libraries Signed-off-by: Jens Langhammer <[email protected]> * make unbind flow for ldap configurable Signed-off-by: Jens Langhammer <[email protected]> * unrelated: fix flow inspector Signed-off-by: Jens Langhammer <[email protected]> * handle invalidation_flow as optional, as it should be Signed-off-by: Jens Langhammer <[email protected]> * also fix ldap outpost Signed-off-by: Jens Langhammer <[email protected]> * don't generate URL in client Signed-off-by: Jens Langhammer <[email protected]> * actually make it work??? Signed-off-by: Jens Langhammer <[email protected]> * format Signed-off-by: Jens Langhammer <[email protected]> * fix migration breaking things...? Signed-off-by: Jens Langhammer <[email protected]> * start fixing tests Signed-off-by: Jens Langhammer <[email protected]> * fix fallback Signed-off-by: Jens Langhammer <[email protected]> * re-migrate Signed-off-by: Jens Langhammer <[email protected]> * fix tests Signed-off-by: Jens Langhammer <[email protected]> * fix tests Signed-off-by: Jens Langhammer <[email protected]> * fix duplicate flow setting Signed-off-by: Jens Langhammer <[email protected]> * add migration Signed-off-by: Jens Langhammer <[email protected]> * fix race condition with brand Signed-off-by: Jens Langhammer <[email protected]> * fix oauth test Signed-off-by: Jens Langhammer <[email protected]> * fix SAML tests Signed-off-by: Jens Langhammer <[email protected]> * add to wizard, fix required Signed-off-by: Jens Langhammer <[email protected]> * update docs Signed-off-by: Jens Langhammer <[email protected]> * make required, start release notes Signed-off-by: Jens Langhammer <[email protected]> * fix tests Signed-off-by: Jens Langhammer <[email protected]> --------- Signed-off-by: Jens Langhammer <[email protected]> Signed-off-by: Jens Langhammer <[email protected]>
- Loading branch information
Showing
46 changed files
with
871 additions
and
248 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
55 changes: 55 additions & 0 deletions
55
authentik/core/migrations/0040_provider_invalidation_flow.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# Generated by Django 5.0.9 on 2024-10-02 11:35 | ||
|
||
import django.db.models.deletion | ||
from django.db import migrations, models | ||
|
||
from django.apps.registry import Apps | ||
from django.db import migrations, models | ||
from django.db.backends.base.schema import BaseDatabaseSchemaEditor | ||
|
||
|
||
def migrate_invalidation_flow_default(apps: Apps, schema_editor: BaseDatabaseSchemaEditor): | ||
from authentik.flows.models import FlowDesignation, FlowAuthenticationRequirement | ||
|
||
db_alias = schema_editor.connection.alias | ||
|
||
Flow = apps.get_model("authentik_flows", "Flow") | ||
Provider = apps.get_model("authentik_core", "Provider") | ||
|
||
# So this flow is managed via a blueprint, bue we're in a migration so we don't want to rely on that | ||
# since the blueprint is just an empty flow we can just create it here | ||
# and let it be managed by the blueprint later | ||
flow, _ = Flow.objects.using(db_alias).update_or_create( | ||
slug="default-provider-invalidation-flow", | ||
defaults={ | ||
"name": "Logged out of application", | ||
"title": "You've logged out of %(app)s.", | ||
"authentication": FlowAuthenticationRequirement.NONE, | ||
"designation": FlowDesignation.INVALIDATION, | ||
}, | ||
) | ||
Provider.objects.using(db_alias).filter(invalidation_flow=None).update(invalidation_flow=flow) | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
("authentik_core", "0039_source_group_matching_mode_alter_group_name_and_more"), | ||
("authentik_flows", "0027_auto_20231028_1424"), | ||
] | ||
|
||
operations = [ | ||
migrations.AddField( | ||
model_name="provider", | ||
name="invalidation_flow", | ||
field=models.ForeignKey( | ||
default=None, | ||
help_text="Flow used ending the session from a provider.", | ||
null=True, | ||
on_delete=django.db.models.deletion.SET_DEFAULT, | ||
related_name="provider_invalidation", | ||
to="authentik_flows.flow", | ||
), | ||
), | ||
migrations.RunPython(migrate_invalidation_flow_default), | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.