Compare commits
	
		
			4 Commits
		
	
	
		
			version/20
			...
			version/20
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 246cae3dfa | |||
| 6cfd2bd1af | |||
| f0e4f93fe6 | |||
| 434aa57ba7 | 
| @ -1,5 +1,5 @@ | |||||||
| [bumpversion] | [bumpversion] | ||||||
| current_version = 2024.8.3 | current_version = 2024.10.0-rc1 | ||||||
| tag = True | tag = True | ||||||
| commit = True | commit = True | ||||||
| parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(?:-(?P<rc_t>[a-zA-Z-]+)(?P<rc_n>[1-9]\\d*))? | parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(?:-(?P<rc_t>[a-zA-Z-]+)(?P<rc_n>[1-9]\\d*))? | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ | |||||||
|  |  | ||||||
| from os import environ | from os import environ | ||||||
|  |  | ||||||
| __version__ = "2024.8.3" | __version__ = "2024.10.0" | ||||||
| ENV_GIT_HASH_KEY = "GIT_BUILD_HASH" | ENV_GIT_HASH_KEY = "GIT_BUILD_HASH" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ | |||||||
|     "$schema": "http://json-schema.org/draft-07/schema", |     "$schema": "http://json-schema.org/draft-07/schema", | ||||||
|     "$id": "https://goauthentik.io/blueprints/schema.json", |     "$id": "https://goauthentik.io/blueprints/schema.json", | ||||||
|     "type": "object", |     "type": "object", | ||||||
|     "title": "authentik 2024.8.3 Blueprint schema", |     "title": "authentik 2024.10.0 Blueprint schema", | ||||||
|     "required": [ |     "required": [ | ||||||
|         "version", |         "version", | ||||||
|         "entries" |         "entries" | ||||||
|  | |||||||
| @ -31,7 +31,7 @@ services: | |||||||
|     volumes: |     volumes: | ||||||
|       - redis:/data |       - redis:/data | ||||||
|   server: |   server: | ||||||
|     image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.8.3} |     image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.10.0} | ||||||
|     restart: unless-stopped |     restart: unless-stopped | ||||||
|     command: server |     command: server | ||||||
|     environment: |     environment: | ||||||
| @ -52,7 +52,7 @@ services: | |||||||
|       - postgresql |       - postgresql | ||||||
|       - redis |       - redis | ||||||
|   worker: |   worker: | ||||||
|     image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.8.3} |     image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.10.0} | ||||||
|     restart: unless-stopped |     restart: unless-stopped | ||||||
|     command: worker |     command: worker | ||||||
|     environment: |     environment: | ||||||
|  | |||||||
| @ -29,4 +29,4 @@ func UserAgent() string { | |||||||
| 	return fmt.Sprintf("authentik@%s", FullVersion()) | 	return fmt.Sprintf("authentik@%s", FullVersion()) | ||||||
| } | } | ||||||
|  |  | ||||||
| const VERSION = "2024.8.3" | const VERSION = "2024.10.0" | ||||||
|  | |||||||
| @ -54,7 +54,9 @@ function cleanup { | |||||||
| } | } | ||||||
|  |  | ||||||
| function prepare_debug { | function prepare_debug { | ||||||
|     apt-get install -y --no-install-recommends krb5-kdc krb5-user krb5-admin-server |     export DEBIAN_FRONTEND=noninteractive | ||||||
|  |     apt-get update | ||||||
|  |     apt-get install -y --no-install-recommends krb5-kdc krb5-user krb5-admin-server libkrb5-dev gcc | ||||||
|     VIRTUAL_ENV=/ak-root/venv poetry install --no-ansi --no-interaction |     VIRTUAL_ENV=/ak-root/venv poetry install --no-ansi --no-interaction | ||||||
|     touch /unittest.xml |     touch /unittest.xml | ||||||
|     chown authentik:authentik /unittest.xml |     chown authentik:authentik /unittest.xml | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| { | { | ||||||
|     "name": "@goauthentik/authentik", |     "name": "@goauthentik/authentik", | ||||||
|     "version": "2024.8.3", |     "version": "2024.10.0", | ||||||
|     "private": true |     "private": true | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| [tool.poetry] | [tool.poetry] | ||||||
| name = "authentik" | name = "authentik" | ||||||
| version = "2024.8.3" | version = "2024.10.0" | ||||||
| description = "" | description = "" | ||||||
| authors = ["authentik Team <hello@goauthentik.io>"] | authors = ["authentik Team <hello@goauthentik.io>"] | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| openapi: 3.0.3 | openapi: 3.0.3 | ||||||
| info: | info: | ||||||
|   title: authentik |   title: authentik | ||||||
|   version: 2024.8.3 |   version: 2024.10.0 | ||||||
|   description: Making authentication simple. |   description: Making authentication simple. | ||||||
|   contact: |   contact: | ||||||
|     email: hello@goauthentik.io |     email: hello@goauthentik.io | ||||||
|  | |||||||
| @ -129,11 +129,7 @@ export class RACProviderViewPage extends AKElement { | |||||||
|         if (!this.provider) { |         if (!this.provider) { | ||||||
|             return html``; |             return html``; | ||||||
|         } |         } | ||||||
|         return html`<div slot="header" class="pf-c-banner pf-m-info"> |         return html`${this.provider?.assignedApplicationName | ||||||
|                 ${msg("RAC is in preview.")} |  | ||||||
|                 <a href="mailto:hello+feature/rac@goauthentik.io">${msg("Send us feedback!")}</a> |  | ||||||
|             </div> |  | ||||||
|             ${this.provider?.assignedApplicationName |  | ||||||
|                 ? html`` |                 ? html`` | ||||||
|                 : html`<div slot="header" class="pf-c-banner pf-m-warning"> |                 : html`<div slot="header" class="pf-c-banner pf-m-warning"> | ||||||
|                       ${msg("Warning: Provider is not used by an Application.")} |                       ${msg("Warning: Provider is not used by an Application.")} | ||||||
|  | |||||||
| @ -7,7 +7,6 @@ import { msg } from "@lit/localize"; | |||||||
| import { CSSResult, TemplateResult, html } from "lit"; | import { CSSResult, TemplateResult, html } from "lit"; | ||||||
| import { customElement, property } from "lit/decorators.js"; | 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 PFButton from "@patternfly/patternfly/components/Button/button.css"; | ||||||
| import PFBase from "@patternfly/patternfly/patternfly-base.css"; | import PFBase from "@patternfly/patternfly/patternfly-base.css"; | ||||||
|  |  | ||||||
| @ -53,17 +52,13 @@ export class ObjectPermissionModal extends AKElement { | |||||||
|     objectPk?: string | number; |     objectPk?: string | number; | ||||||
|  |  | ||||||
|     static get styles(): CSSResult[] { |     static get styles(): CSSResult[] { | ||||||
|         return [PFBase, PFButton, PFBanner]; |         return [PFBase, PFButton]; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     render(): TemplateResult { |     render(): TemplateResult { | ||||||
|         return html` |         return html` | ||||||
|             <ak-forms-modal .showSubmitButton=${false} cancelText=${msg("Close")}> |             <ak-forms-modal .showSubmitButton=${false} cancelText=${msg("Close")}> | ||||||
|                 <span slot="header"> ${msg("Update Permissions")} </span> |                 <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 |                 <ak-rbac-object-permission-modal-form | ||||||
|                     slot="form" |                     slot="form" | ||||||
|                     .model=${this.model} |                     .model=${this.model} | ||||||
|  | |||||||
| @ -11,7 +11,6 @@ import { msg } from "@lit/localize"; | |||||||
| import { html, nothing } from "lit"; | import { html, nothing } from "lit"; | ||||||
| import { customElement, property } from "lit/decorators.js"; | 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 PFCard from "@patternfly/patternfly/components/Card/card.css"; | ||||||
| import PFPage from "@patternfly/patternfly/components/Page/page.css"; | import PFPage from "@patternfly/patternfly/components/Page/page.css"; | ||||||
| import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; | import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; | ||||||
| @ -31,66 +30,60 @@ export class ObjectPermissionPage extends AKElement { | |||||||
|     embedded = false; |     embedded = false; | ||||||
|  |  | ||||||
|     static get styles() { |     static get styles() { | ||||||
|         return [PFBase, PFGrid, PFPage, PFCard, PFBanner]; |         return [PFBase, PFGrid, PFPage, PFCard]; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     render() { |     render() { | ||||||
|         return html`${!this.embedded |         return html` <ak-tabs pageIdentifier="permissionPage" ?vertical=${!this.embedded}> | ||||||
|                 ? html`<div class="pf-c-banner pf-m-info"> |             ${this.model === RbacPermissionsAssignedByUsersListModelEnum.CoreUser | ||||||
|                       ${msg("RBAC is in preview.")} |                 ? this.renderCoreUser() | ||||||
|                       <a href="mailto:hello@goauthentik.io">${msg("Send us feedback!")}</a> |  | ||||||
|                   </div>` |  | ||||||
|                 : nothing} |                 : nothing} | ||||||
|             <ak-tabs pageIdentifier="permissionPage" ?vertical=${!this.embedded}> |             ${this.model === RbacPermissionsAssignedByUsersListModelEnum.RbacRole | ||||||
|                 ${this.model === RbacPermissionsAssignedByUsersListModelEnum.CoreUser |                 ? this.renderRbacRole() | ||||||
|                     ? this.renderCoreUser() |                 : nothing} | ||||||
|                     : nothing} |             <section | ||||||
|                 ${this.model === RbacPermissionsAssignedByUsersListModelEnum.RbacRole |                 slot="page-object-user" | ||||||
|                     ? this.renderRbacRole() |                 data-tab-title="${msg("User Object Permissions")}" | ||||||
|                     : nothing} |                 class="pf-c-page__main-section pf-m-no-padding-mobile" | ||||||
|                 <section |             > | ||||||
|                     slot="page-object-user" |                 <div class="pf-l-grid pf-m-gutter"> | ||||||
|                     data-tab-title="${msg("User Object Permissions")}" |                     <div class="pf-c-card pf-l-grid__item pf-m-12-col"> | ||||||
|                     class="pf-c-page__main-section pf-m-no-padding-mobile" |                         <div class="pf-c-card__title">${msg("User Object Permissions")}</div> | ||||||
|                 > |                         <div class="pf-c-card__body"> | ||||||
|                     <div class="pf-l-grid pf-m-gutter"> |                             ${msg("Permissions set on users which affect this object.")} | ||||||
|                         <div class="pf-c-card pf-l-grid__item pf-m-12-col"> |                         </div> | ||||||
|                             <div class="pf-c-card__title">${msg("User Object Permissions")}</div> |                         <div class="pf-c-card__body"> | ||||||
|                             <div class="pf-c-card__body"> |                             <ak-rbac-user-object-permission-table | ||||||
|                                 ${msg("Permissions set on users which affect this object.")} |                                 .model=${this.model} | ||||||
|                             </div> |                                 .objectPk=${this.objectPk} | ||||||
|                             <div class="pf-c-card__body"> |                             > | ||||||
|                                 <ak-rbac-user-object-permission-table |                             </ak-rbac-user-object-permission-table> | ||||||
|                                     .model=${this.model} |  | ||||||
|                                     .objectPk=${this.objectPk} |  | ||||||
|                                 > |  | ||||||
|                                 </ak-rbac-user-object-permission-table> |  | ||||||
|                             </div> |  | ||||||
|                         </div> |                         </div> | ||||||
|                     </div> |                     </div> | ||||||
|                 </section> |                 </div> | ||||||
|                 <section |             </section> | ||||||
|                     slot="page-object-role" |             <section | ||||||
|                     data-tab-title="${msg("Role Object Permissions")}" |                 slot="page-object-role" | ||||||
|                     class="pf-c-page__main-section pf-m-no-padding-mobile" |                 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-l-grid pf-m-gutter"> | ||||||
|                             <div class="pf-c-card__title">${msg("Role Object Permissions")}</div> |                     <div class="pf-c-card pf-l-grid__item pf-m-12-col"> | ||||||
|                             <div class="pf-c-card__body"> |                         <div class="pf-c-card__title">${msg("Role Object Permissions")}</div> | ||||||
|                                 ${msg("Permissions set on roles which affect this object.")} |                         <div class="pf-c-card__body"> | ||||||
|                             </div> |                             ${msg("Permissions set on roles which affect this object.")} | ||||||
|                             <div class="pf-c-card__body"> |                         </div> | ||||||
|                                 <ak-rbac-role-object-permission-table |                         <div class="pf-c-card__body"> | ||||||
|                                     .model=${this.model} |                             <ak-rbac-role-object-permission-table | ||||||
|                                     .objectPk=${this.objectPk} |                                 .model=${this.model} | ||||||
|                                 > |                                 .objectPk=${this.objectPk} | ||||||
|                                 </ak-rbac-role-object-permission-table> |                             > | ||||||
|                             </div> |                             </ak-rbac-role-object-permission-table> | ||||||
|                         </div> |                         </div> | ||||||
|                     </div> |                     </div> | ||||||
|                 </section> |                 </div> | ||||||
|             </ak-tabs>`; |             </section> | ||||||
|  |         </ak-tabs>`; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     renderCoreUser() { |     renderCoreUser() { | ||||||
|  | |||||||
| @ -9,12 +9,10 @@ import { TablePage } from "@goauthentik/elements/table/TablePage"; | |||||||
| import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; | import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; | ||||||
|  |  | ||||||
| import { msg } from "@lit/localize"; | import { msg } from "@lit/localize"; | ||||||
| import { CSSResult, TemplateResult, html } from "lit"; | import { TemplateResult, html } from "lit"; | ||||||
| import { customElement, property } from "lit/decorators.js"; | import { customElement, property } from "lit/decorators.js"; | ||||||
| import { ifDefined } from "lit/directives/if-defined.js"; | import { ifDefined } from "lit/directives/if-defined.js"; | ||||||
|  |  | ||||||
| import PFBanner from "@patternfly/patternfly/components/Banner/banner.css"; |  | ||||||
|  |  | ||||||
| import { RbacApi, Role } from "@goauthentik/api"; | import { RbacApi, Role } from "@goauthentik/api"; | ||||||
|  |  | ||||||
| @customElement("ak-role-list") | @customElement("ak-role-list") | ||||||
| @ -37,10 +35,6 @@ export class RoleListPage extends TablePage<Role> { | |||||||
|     @property() |     @property() | ||||||
|     order = "name"; |     order = "name"; | ||||||
|  |  | ||||||
|     static get styles(): CSSResult[] { |  | ||||||
|         return [...super.styles, PFBanner]; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     async apiEndpoint(): Promise<PaginatedResponse<Role>> { |     async apiEndpoint(): Promise<PaginatedResponse<Role>> { | ||||||
|         return new RbacApi(DEFAULT_CONFIG).rbacRolesList(await this.defaultEndpointConfig()); |         return new RbacApi(DEFAULT_CONFIG).rbacRolesList(await this.defaultEndpointConfig()); | ||||||
|     } |     } | ||||||
| @ -78,10 +72,6 @@ export class RoleListPage extends TablePage<Role> { | |||||||
|                 description=${ifDefined(this.pageDescription())} |                 description=${ifDefined(this.pageDescription())} | ||||||
|             > |             > | ||||||
|             </ak-page-header> |             </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"> |             <section class="pf-c-page__main-section pf-m-no-padding-mobile"> | ||||||
|                 <div class="pf-c-card">${this.renderTable()}</div> |                 <div class="pf-c-card">${this.renderTable()}</div> | ||||||
|             </section>`; |             </section>`; | ||||||
|  | |||||||
| @ -18,6 +18,7 @@ import { msg } from "@lit/localize"; | |||||||
| import { CSSResult, TemplateResult, html } from "lit"; | import { CSSResult, TemplateResult, html } from "lit"; | ||||||
| import { customElement, property, state } from "lit/decorators.js"; | 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 PFButton from "@patternfly/patternfly/components/Button/button.css"; | ||||||
| import PFCard from "@patternfly/patternfly/components/Card/card.css"; | import PFCard from "@patternfly/patternfly/components/Card/card.css"; | ||||||
| import PFContent from "@patternfly/patternfly/components/Content/content.css"; | import PFContent from "@patternfly/patternfly/components/Content/content.css"; | ||||||
| @ -54,7 +55,17 @@ export class KerberosSourceViewPage extends AKElement { | |||||||
|     syncState?: SyncStatus; |     syncState?: SyncStatus; | ||||||
|  |  | ||||||
|     static get styles(): CSSResult[] { |     static get styles(): CSSResult[] { | ||||||
|         return [PFBase, PFPage, PFButton, PFGrid, PFContent, PFCard, PFDescriptionList, PFList]; |         return [ | ||||||
|  |             PFBase, | ||||||
|  |             PFPage, | ||||||
|  |             PFButton, | ||||||
|  |             PFGrid, | ||||||
|  |             PFContent, | ||||||
|  |             PFCard, | ||||||
|  |             PFDescriptionList, | ||||||
|  |             PFBanner, | ||||||
|  |             PFList, | ||||||
|  |         ]; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     constructor() { |     constructor() { | ||||||
| @ -121,6 +132,12 @@ export class KerberosSourceViewPage extends AKElement { | |||||||
|                     this.load(); |                     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-l-grid pf-m-gutter"> | ||||||
|                     <div class="pf-c-card pf-l-grid__item pf-m-12-col"> |                     <div class="pf-c-card pf-l-grid__item pf-m-12-col"> | ||||||
|                         <div class="pf-c-card__body"> |                         <div class="pf-c-card__body"> | ||||||
|  | |||||||
| @ -10,6 +10,8 @@ import { msg } from "@lit/localize"; | |||||||
| import { TemplateResult, html } from "lit"; | import { TemplateResult, html } from "lit"; | ||||||
| import { customElement } from "lit/decorators.js"; | import { customElement } from "lit/decorators.js"; | ||||||
|  |  | ||||||
|  | import PFBanner from "@patternfly/patternfly/components/Banner/banner.css"; | ||||||
|  |  | ||||||
| import { AuthenticatorEndpointGDTCStage, StagesApi } from "@goauthentik/api"; | import { AuthenticatorEndpointGDTCStage, StagesApi } from "@goauthentik/api"; | ||||||
|  |  | ||||||
| @customElement("ak-stage-authenticator-endpoint-gdtc-form") | @customElement("ak-stage-authenticator-endpoint-gdtc-form") | ||||||
| @ -33,8 +35,16 @@ export class AuthenticatorEndpointGDTCStageForm extends BaseStageForm<Authentica | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     static get styles() { | ||||||
|  |         return super.styles.concat(PFBanner); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     renderForm(): TemplateResult { |     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( |                 ${msg( | ||||||
|                     "Stage used to verify users' browsers using Google Chrome Device Trust. This stage can be used in authentication/authorization flows.", |                     "Stage used to verify users' browsers using Google Chrome Device Trust. This stage can be used in authentication/authorization flows.", | ||||||
|                 )} |                 )} | ||||||
|  | |||||||
| @ -3,7 +3,7 @@ export const SUCCESS_CLASS = "pf-m-success"; | |||||||
| export const ERROR_CLASS = "pf-m-danger"; | export const ERROR_CLASS = "pf-m-danger"; | ||||||
| export const PROGRESS_CLASS = "pf-m-in-progress"; | export const PROGRESS_CLASS = "pf-m-in-progress"; | ||||||
| export const CURRENT_CLASS = "pf-m-current"; | export const CURRENT_CLASS = "pf-m-current"; | ||||||
| export const VERSION = "2024.8.3"; | export const VERSION = "2024.10.0"; | ||||||
| export const TITLE_DEFAULT = "authentik"; | export const TITLE_DEFAULT = "authentik"; | ||||||
| export const ROUTE_SEPARATOR = ";"; | export const ROUTE_SEPARATOR = ";"; | ||||||
|  |  | ||||||
|  | |||||||
| @ -3,6 +3,7 @@ title: Endpoint Authenticator Google Device Trust Connector Stage | |||||||
| --- | --- | ||||||
|  |  | ||||||
| <span class="badge badge--primary">Enterprise</span> | <span class="badge badge--primary">Enterprise</span> | ||||||
|  | <span class="badge badge--preview">Preview</span> | ||||||
| <span class="badge badge--version">authentik 2024.10+</span> | <span class="badge badge--version">authentik 2024.10+</span> | ||||||
|  |  | ||||||
| --- | --- | ||||||
|  | |||||||
| @ -3,15 +3,12 @@ title: Add an Entra ID provider | |||||||
| --- | --- | ||||||
|  |  | ||||||
| <span class="badge badge--primary">Enterprise</span> | <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. | 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 | ## 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. | 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. | ||||||
|  | |||||||
| @ -3,13 +3,10 @@ title: Microsoft Entra ID provider | |||||||
| --- | --- | ||||||
|  |  | ||||||
| <span class="badge badge--primary">Enterprise</span> | <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. | 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). | -   For instructions to configure your Entra ID tenant to integrate with authentik, refer to [Configure Entra ID](./setup-entra.md). | ||||||
|  | |||||||
| @ -3,13 +3,10 @@ title: Create a Google Workspace provider | |||||||
| --- | --- | ||||||
|  |  | ||||||
| <span class="badge badge--primary">Enterprise</span> | <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. | For more information about using a Google Workspace provider, see the [Overview](./index.md) documentation. | ||||||
|  |  | ||||||
| ## Prerequisites | ## Prerequisites | ||||||
|  | |||||||
| @ -3,13 +3,10 @@ title: Google Workspace provider | |||||||
| --- | --- | ||||||
|  |  | ||||||
| <span class="badge badge--primary">Enterprise</span> | <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. | 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). | -   For instructions to configure your Google Workspace to integrate with authentik, refer to [Configure Google Workspace](./setup-gws.md). | ||||||
|  | |||||||
| @ -2,17 +2,13 @@ | |||||||
| title: Create a Remote Access Control (RAC) provider | 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. | 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. | 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> | <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). | The RAC provider requires the deployment of the [RAC Outpost](../../outposts/index.mdx). | ||||||
|  |  | ||||||
|  | |||||||
| @ -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 | :::info | ||||||
| This provider requires the deployment of the [RAC Outpost](../../outposts/index.mdx). | This provider requires the deployment of the [RAC Outpost](../../outposts/index.mdx). | ||||||
| ::: | ::: | ||||||
|  | |||||||
| @ -2,6 +2,11 @@ | |||||||
| title: Kerberos | 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. | This source allows users to enroll themselves with an existing Kerberos identity. | ||||||
|  |  | ||||||
| ## Preparation | ## Preparation | ||||||
|  | |||||||
| @ -2,9 +2,9 @@ | |||||||
| title: SCIM Source | title: SCIM Source | ||||||
| --- | --- | ||||||
|  |  | ||||||
| :::info | <span class="badge badge--preview">Preview</span> | ||||||
| This feature is in technical preview, so please report any bugs on [GitHub](https://github.com/goauthentik/authentik/issues). |  | ||||||
| ::: | --- | ||||||
|  |  | ||||||
| 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. | 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. | ||||||
|  |  | ||||||
|  | |||||||
| @ -125,3 +125,11 @@ body { | |||||||
|     font-size: 0.75rem; |     font-size: 0.75rem; | ||||||
|     vertical-align: middle; |     vertical-align: middle; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | .badge--preview { | ||||||
|  |     --ifm-badge-background-color: rgb(115, 188, 247); | ||||||
|  |     color: var(--ifm-color-primary-contrast-foreground); | ||||||
|  |     --ifm-badge-border-color: var(--ifm-badge-background-color); | ||||||
|  |     font-size: 0.75rem; | ||||||
|  |     vertical-align: middle; | ||||||
|  | } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	![gcp-cherry-pick-bot[bot]](/assets/img/avatar_default.png)