Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions authentik/core/api/applications.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ class Meta:
"meta_publisher",
"policy_engine_mode",
"group",
"meta_hide",
]
extra_kwargs = {
"backchannel_providers": {"required": False},
Expand Down Expand Up @@ -279,6 +280,7 @@ def list(self, request: Request) -> Response:
).lower()

queryset = self._filter_queryset_for_list(self.get_queryset())
queryset = queryset.exclude(meta_hide=True)
paginator: Pagination = self.paginator
paginated_apps = paginator.paginate_queryset(queryset, request)

Expand Down
20 changes: 20 additions & 0 deletions authentik/core/migrations/0058_add_application_meta_hide.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Generated by Django 5.2.12 on 2026-04-09 18:04

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("authentik_core", "0057_remove_user_groups_remove_user_user_permissions_and_more"),
]

operations = [
migrations.AddField(
model_name="application",
name="meta_hide",
field=models.BooleanField(
default=False, help_text="Hide this application from the user dashboard."
),
),
Comment on lines +13 to +19
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@melizeche could you add a RunPython step here that checks if the meta_launch_url is set to blank://blank, and if so enables this flag and empties the meta launch URL?

]
3 changes: 3 additions & 0 deletions authentik/core/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -735,6 +735,9 @@ class Application(SerializerModel, PolicyBindingModel):
meta_icon = FileField(default="", blank=True)
meta_description = models.TextField(default="", blank=True)
meta_publisher = models.TextField(default="", blank=True)
meta_hide = models.BooleanField(
default=False, help_text=_("Hide this application from the user dashboard.")
)

objects = ApplicationQuerySet.as_manager()

Expand Down
5 changes: 5 additions & 0 deletions blueprints/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -5215,6 +5215,11 @@
"type": "string",
"title": "Group"
},
"meta_hide": {
"type": "boolean",
"title": "Meta hide",
"description": "Hide this application from the user dashboard."
},
"icon": {
"type": "string",
"minLength": 1,
Expand Down
8 changes: 8 additions & 0 deletions packages/client-ts/src/models/Application.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions packages/client-ts/src/models/ApplicationRequest.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions packages/client-ts/src/models/PatchedApplicationRequest.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33861,6 +33861,9 @@ components:
$ref: '#/components/schemas/PolicyEngineMode'
group:
type: string
meta_hide:
type: boolean
description: Hide this application from the user dashboard.
required:
- backchannel_providers_obj
- launch_url
Expand Down Expand Up @@ -33942,6 +33945,9 @@ components:
$ref: '#/components/schemas/PolicyEngineMode'
group:
type: string
meta_hide:
type: boolean
description: Hide this application from the user dashboard.
required:
- name
- slug
Expand Down Expand Up @@ -47118,6 +47124,9 @@ components:
$ref: '#/components/schemas/PolicyEngineMode'
group:
type: string
meta_hide:
type: boolean
description: Hide this application from the user dashboard.
PatchedAuthenticatorDuoStageRequest:
type: object
description: AuthenticatorDuoStage Serializer
Expand Down
9 changes: 9 additions & 0 deletions web/src/admin/applications/ApplicationForm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,15 @@ export class ApplicationForm extends WithCapabilitiesConfig(ModelForm<Applicatio
)}
>
</ak-switch-input>
<ak-switch-input
name="metaHide"
?checked=${this.instance?.metaHide ?? false}
label=${msg("Hide from user dashboard")}
help=${msg(
"If checked, this application will not be shown on the user's application library.",
)}
>
</ak-switch-input>
<ak-file-search-input
name="metaIcon"
label=${msg("Icon")}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,15 @@ export class ApplicationWizardApplicationStep extends ApplicationWizardStep {
)}
>
</ak-switch-input>
<ak-switch-input
name="metaHide"
?checked=${app.metaHide ?? false}
label=${msg("Hide from user dashboard")}
help=${msg(
"If checked, this application will not be shown on the user's application library.",
)}
>
</ak-switch-input>
<ak-file-search-input
name="metaIcon"
label=${msg("Icon")}
Expand Down
Loading