Skip to content
Merged
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
6 changes: 1 addition & 5 deletions web/src/admin/providers/rac/RACProviderViewPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,7 @@ export class RACProviderViewPage extends AKElement {
if (!this.provider) {
return html``;
}
return html`<div slot="header" class="pf-c-banner pf-m-info">
${msg("RAC is in preview.")}
<a href="mailto:hello+feature/rac@goauthentik.io">${msg("Send us feedback!")}</a>
</div>
${this.provider?.assignedApplicationName
return html`${this.provider?.assignedApplicationName
? html``
: html`<div slot="header" class="pf-c-banner pf-m-warning">
${msg("Warning: Provider is not used by an Application.")}
Expand Down
7 changes: 1 addition & 6 deletions web/src/admin/rbac/ObjectPermissionModal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import { msg } from "@lit/localize";
import { CSSResult, TemplateResult, html } from "lit";
import { customElement, property } from "lit/decorators.js";

import PFBanner from "@patternfly/patternfly/components/Banner/banner.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";

Expand Down Expand Up @@ -53,17 +52,13 @@ export class ObjectPermissionModal extends AKElement {
objectPk?: string | number;

static get styles(): CSSResult[] {
return [PFBase, PFButton, PFBanner];
return [PFBase, PFButton];
}

render(): TemplateResult {
return html`
<ak-forms-modal .showSubmitButton=${false} cancelText=${msg("Close")}>
<span slot="header"> ${msg("Update Permissions")} </span>
<div class="pf-c-banner pf-m-info" slot="above-form">
${msg("RBAC is in preview.")}
<a href="mailto:hello@goauthentik.io">${msg("Send us feedback!")}</a>
</div>
<ak-rbac-object-permission-modal-form
slot="form"
.model=${this.model}
Expand Down
99 changes: 46 additions & 53 deletions web/src/admin/rbac/ObjectPermissionsPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import { msg } from "@lit/localize";
import { html, nothing } from "lit";
import { customElement, property } from "lit/decorators.js";

import PFBanner from "@patternfly/patternfly/components/Banner/banner.css";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
Expand All @@ -31,66 +30,60 @@ export class ObjectPermissionPage extends AKElement {
embedded = false;

static get styles() {
return [PFBase, PFGrid, PFPage, PFCard, PFBanner];
return [PFBase, PFGrid, PFPage, PFCard];
}

render() {
return html`${!this.embedded
? html`<div class="pf-c-banner pf-m-info">
${msg("RBAC is in preview.")}
<a href="mailto:hello@goauthentik.io">${msg("Send us feedback!")}</a>
</div>`
return html` <ak-tabs pageIdentifier="permissionPage" ?vertical=${!this.embedded}>
${this.model === RbacPermissionsAssignedByUsersListModelEnum.CoreUser
? this.renderCoreUser()
: nothing}
<ak-tabs pageIdentifier="permissionPage" ?vertical=${!this.embedded}>
${this.model === RbacPermissionsAssignedByUsersListModelEnum.CoreUser
? this.renderCoreUser()
: nothing}
${this.model === RbacPermissionsAssignedByUsersListModelEnum.RbacRole
? this.renderRbacRole()
: nothing}
<section
slot="page-object-user"
data-tab-title="${msg("User Object Permissions")}"
class="pf-c-page__main-section pf-m-no-padding-mobile"
>
<div class="pf-l-grid pf-m-gutter">
<div class="pf-c-card pf-l-grid__item pf-m-12-col">
<div class="pf-c-card__title">${msg("User Object Permissions")}</div>
<div class="pf-c-card__body">
${msg("Permissions set on users which affect this object.")}
</div>
<div class="pf-c-card__body">
<ak-rbac-user-object-permission-table
.model=${this.model}
.objectPk=${this.objectPk}
>
</ak-rbac-user-object-permission-table>
</div>
${this.model === RbacPermissionsAssignedByUsersListModelEnum.RbacRole
? this.renderRbacRole()
: nothing}
<section
slot="page-object-user"
data-tab-title="${msg("User Object Permissions")}"
class="pf-c-page__main-section pf-m-no-padding-mobile"
>
<div class="pf-l-grid pf-m-gutter">
<div class="pf-c-card pf-l-grid__item pf-m-12-col">
<div class="pf-c-card__title">${msg("User Object Permissions")}</div>
<div class="pf-c-card__body">
${msg("Permissions set on users which affect this object.")}
</div>
<div class="pf-c-card__body">
<ak-rbac-user-object-permission-table
.model=${this.model}
.objectPk=${this.objectPk}
>
</ak-rbac-user-object-permission-table>
</div>
</div>
</section>
<section
slot="page-object-role"
data-tab-title="${msg("Role Object Permissions")}"
class="pf-c-page__main-section pf-m-no-padding-mobile"
>
<div class="pf-l-grid pf-m-gutter">
<div class="pf-c-card pf-l-grid__item pf-m-12-col">
<div class="pf-c-card__title">${msg("Role Object Permissions")}</div>
<div class="pf-c-card__body">
${msg("Permissions set on roles which affect this object.")}
</div>
<div class="pf-c-card__body">
<ak-rbac-role-object-permission-table
.model=${this.model}
.objectPk=${this.objectPk}
>
</ak-rbac-role-object-permission-table>
</div>
</div>
</section>
<section
slot="page-object-role"
data-tab-title="${msg("Role Object Permissions")}"
class="pf-c-page__main-section pf-m-no-padding-mobile"
>
<div class="pf-l-grid pf-m-gutter">
<div class="pf-c-card pf-l-grid__item pf-m-12-col">
<div class="pf-c-card__title">${msg("Role Object Permissions")}</div>
<div class="pf-c-card__body">
${msg("Permissions set on roles which affect this object.")}
</div>
<div class="pf-c-card__body">
<ak-rbac-role-object-permission-table
.model=${this.model}
.objectPk=${this.objectPk}
>
</ak-rbac-role-object-permission-table>
</div>
</div>
</section>
</ak-tabs>`;
</div>
</section>
</ak-tabs>`;
}

renderCoreUser() {
Expand Down
12 changes: 1 addition & 11 deletions web/src/admin/roles/RoleListPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,10 @@ import { TablePage } from "@goauthentik/elements/table/TablePage";
import "@patternfly/elements/pf-tooltip/pf-tooltip.js";

import { msg } from "@lit/localize";
import { CSSResult, TemplateResult, html } from "lit";
import { TemplateResult, html } from "lit";
import { customElement, property } from "lit/decorators.js";
import { ifDefined } from "lit/directives/if-defined.js";

import PFBanner from "@patternfly/patternfly/components/Banner/banner.css";

import { RbacApi, Role } from "@goauthentik/api";

@customElement("ak-role-list")
Expand All @@ -37,10 +35,6 @@ export class RoleListPage extends TablePage<Role> {
@property()
order = "name";

static get styles(): CSSResult[] {
return [...super.styles, PFBanner];
}

async apiEndpoint(): Promise<PaginatedResponse<Role>> {
return new RbacApi(DEFAULT_CONFIG).rbacRolesList(await this.defaultEndpointConfig());
}
Expand Down Expand Up @@ -78,10 +72,6 @@ export class RoleListPage extends TablePage<Role> {
description=${ifDefined(this.pageDescription())}
>
</ak-page-header>
<div class="pf-c-banner pf-m-info">
${msg("RBAC is in preview.")}
<a href="mailto:hello@goauthentik.io">${msg("Send us feedback!")}</a>
</div>
<section class="pf-c-page__main-section pf-m-no-padding-mobile">
<div class="pf-c-card">${this.renderTable()}</div>
</section>`;
Expand Down
19 changes: 18 additions & 1 deletion web/src/admin/sources/kerberos/KerberosSourceViewPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { msg } from "@lit/localize";
import { CSSResult, TemplateResult, html } from "lit";
import { customElement, property, state } from "lit/decorators.js";

import PFBanner from "@patternfly/patternfly/components/Banner/banner.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
Expand Down Expand Up @@ -54,7 +55,17 @@ export class KerberosSourceViewPage extends AKElement {
syncState?: SyncStatus;

static get styles(): CSSResult[] {
return [PFBase, PFPage, PFButton, PFGrid, PFContent, PFCard, PFDescriptionList, PFList];
return [
PFBase,
PFPage,
PFButton,
PFGrid,
PFContent,
PFCard,
PFDescriptionList,
PFBanner,
PFList,
];
}

constructor() {
Expand Down Expand Up @@ -121,6 +132,12 @@ export class KerberosSourceViewPage extends AKElement {
this.load();
}}
>
<div slot="header" class="pf-c-banner pf-m-info">
${msg("Kerberos Source is in preview.")}
<a href="mailto:hello+feature/kerberos-source@goauthentik.io"
>${msg("Send us feedback!")}</a
>
</div>
<div class="pf-l-grid pf-m-gutter">
<div class="pf-c-card pf-l-grid__item pf-m-12-col">
<div class="pf-c-card__body">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import { msg } from "@lit/localize";
import { TemplateResult, html } from "lit";
import { customElement } from "lit/decorators.js";

import PFBanner from "@patternfly/patternfly/components/Banner/banner.css";

import { AuthenticatorEndpointGDTCStage, StagesApi } from "@goauthentik/api";

@customElement("ak-stage-authenticator-endpoint-gdtc-form")
Expand All @@ -33,8 +35,16 @@ export class AuthenticatorEndpointGDTCStageForm extends BaseStageForm<Authentica
}
}

static get styles() {
return super.styles.concat(PFBanner);
}

renderForm(): TemplateResult {
return html` <span>
return html`<div class="pf-c-banner pf-m-info">
${msg("Endpoint Google Chrome Device Trust is in preview.")}
<a href="mailto:hello+feature/gdtc@goauthentik.io">${msg("Send us feedback!")}</a>
</div>
<span>
${msg(
"Stage used to verify users' browsers using Google Chrome Device Trust. This stage can be used in authentication/authorization flows.",
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Endpoint Authenticator Google Device Trust Connector Stage
---

<span class="badge badge--primary">Enterprise</span>
<span class="badge badge--preview">Preview</span>
<span class="badge badge--version">authentik 2024.10+</span>

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,12 @@ title: Add an Entra ID provider
---

<span class="badge badge--primary">Enterprise</span>
<span class="badge badge--preview">Preview</span>

---

For more information about using an Entra ID provider, see the [Overview](./index.md) documentation.

:::info
This feature is in technical preview, so please report any bugs on [GitHub](https://github.com/goauthentik/authentik/issues).
:::

## Prerequisites

To create an Entra ID provider provider in authentik, you must have already [configured Entra ID](./setup-entra.md) to integrate with authentik. You will need to obtain from Entra three values: the Application (client) ID, the Directory (tenant) ID, and the Client secret. When adding an Entra ID provider in authentik, you must provide these values.
Expand Down
5 changes: 1 addition & 4 deletions website/docs/add-secure-apps/providers/entra/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,10 @@ title: Microsoft Entra ID provider
---

<span class="badge badge--primary">Enterprise</span>
<span class="badge badge--preview">Preview</span>

---

:::info
This feature is in technical preview, so please report any bugs on [GitHub](https://github.com/goauthentik/authentik/issues).
:::

With the Microsoft Entra ID provider, authentik serves as the single source of truth for all users and groups. Configuring Entra ID as a provider allows for auto-discovery of user and group accounts, on-going synchronization of user data such as email address, name, and status, and integrated data mapping of field names and values.

- For instructions to configure your Entra ID tenant to integrate with authentik, refer to [Configure Entra ID](./setup-entra.md).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,10 @@ title: Create a Google Workspace provider
---

<span class="badge badge--primary">Enterprise</span>
<span class="badge badge--preview">Preview</span>

---

:::info
This feature is in technical preview, so please report any bugs on [GitHub](https://github.com/goauthentik/authentik/issues).
:::

For more information about using a Google Workspace provider, see the [Overview](./index.md) documentation.

## Prerequisites
Expand Down
5 changes: 1 addition & 4 deletions website/docs/add-secure-apps/providers/gws/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,10 @@ title: Google Workspace provider
---

<span class="badge badge--primary">Enterprise</span>
<span class="badge badge--preview">Preview</span>

---

:::info
This feature is in technical preview, so please report any bugs on [GitHub](https://github.com/goauthentik/authentik/issues).
:::

With the Google Workspace provider, authentik serves as the single source of truth for all users and groups, when using Google products like Gmail.

- For instructions to configure your Google Workspace to integrate with authentik, refer to [Configure Google Workspace](./setup-gws.md).
Expand Down
6 changes: 1 addition & 5 deletions website/docs/add-secure-apps/providers/rac/how-to-rac.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,13 @@
title: Create a Remote Access Control (RAC) provider
---

:::info
This feature is in technical preview, so please report any bugs on [GitHub](https://github.com/goauthentik/authentik/issues).
:::

The RAC provider is a highly flexible feature for accessing remote machines. This document provides instructions for the basic creation and configuration of a RAC provider within a defined scenario.

Fow more information about using a RAC provider, see the [Overview](./index.md) documentation. You can also view our video on YouTube for setting up RAC.

<iframe width="560" height="315" src="https://www.youtube.com/embed/9wahIBRV6Ts;start=22" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

## Prereqisites
## Prerequisites

The RAC provider requires the deployment of the [RAC Outpost](../../outposts/index.mdx).

Expand Down
4 changes: 0 additions & 4 deletions website/docs/add-secure-apps/providers/rac/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ title: Remote Access Control (RAC) Provider

---

:::info
This feature is in technical preview, so please report any bugs on [GitHub](https://github.com/goauthentik/authentik/issues).
:::

:::info
This provider requires the deployment of the [RAC Outpost](../../outposts/index.mdx).
:::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
title: Kerberos
---

<span class="badge badge--preview">Preview</span>
<span class="badge badge--version">authentik 2024.10+</span>

---

This source allows users to enroll themselves with an existing Kerberos identity.

## Preparation
Expand Down
6 changes: 3 additions & 3 deletions website/docs/users-sources/sources/protocols/scim/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: SCIM Source
---

:::info
This feature is in technical preview, so please report any bugs on [GitHub](https://github.com/goauthentik/authentik/issues).
:::
<span class="badge badge--preview">Preview</span>

---

The SCIM source allows other applications to directly create users and groups within authentik. SCIM provides predefined schema for users and groups, with a RESTful API, to enable automatic user provisioning and deprovisioning, SCIM is supported by applications such as Microsoft Entra ID, Google Workspace, and Okta.

Expand Down
Loading