Compare commits
	
		
			10 Commits
		
	
	
		
			version-20
			...
			version/20
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6ce33ab912 | |||
| d96b577abd | |||
| 8c547589f6 | |||
| 3775e5b84f | |||
| fa30339f65 | |||
| e825eda106 | |||
| 246cae3dfa | |||
| 6cfd2bd1af | |||
| f0e4f93fe6 | |||
| 434aa57ba7 | 
| @ -1,5 +1,5 @@ | |||||||
| [bumpversion] | [bumpversion] | ||||||
| current_version = 2024.8.3 | current_version = 2024.10.0 | ||||||
| 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" | ||||||
|  | |||||||
| @ -38,7 +38,7 @@ entries: | |||||||
|       name: "authentik default Kerberos User Mapping: Ignore system principals" |       name: "authentik default Kerberos User Mapping: Ignore system principals" | ||||||
|       expression: | |       expression: | | ||||||
|         localpart, realm = principal.rsplit("@", 1) |         localpart, realm = principal.rsplit("@", 1) | ||||||
|         denied_prefixes = ["kadmin/", "krbtgt/", "K/M", "WELLKNOWN/"] |         denied_prefixes = ["kadmin/", "krbtgt/", "K/M", "WELLKNOWN/", "kiprop/", "changepw/"] | ||||||
|         for prefix in denied_prefixes: |         for prefix in denied_prefixes: | ||||||
|             if localpart.lower().startswith(prefix.lower()): |             if localpart.lower().startswith(prefix.lower()): | ||||||
|                 raise SkipObject |                 raise SkipObject | ||||||
|  | |||||||
| @ -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 | ||||||
|  | |||||||
| @ -97,7 +97,7 @@ export class ApplicationWizardApplicationDetails extends WithBrandConfig(BasePro | |||||||
|                 </ak-radio-input> |                 </ak-radio-input> | ||||||
|  |  | ||||||
|                 <ak-switch-input |                 <ak-switch-input | ||||||
|                     name="openInNewTab" |                     name="mfaSupport" | ||||||
|                     label=${msg("Code-based MFA Support")} |                     label=${msg("Code-based MFA Support")} | ||||||
|                     ?checked=${provider?.mfaSupport ?? true} |                     ?checked=${provider?.mfaSupport ?? true} | ||||||
|                     help=${mfaSupportHelp} |                     help=${mfaSupportHelp} | ||||||
|  | |||||||
| @ -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 = ";"; | ||||||
|  |  | ||||||
|  | |||||||
| @ -112,7 +112,7 @@ An optional list of all permissions that will be given to the application by gra | |||||||
|  |  | ||||||
| #### Deny stage | #### Deny stage | ||||||
|  |  | ||||||
| ##### `deny_message` (string) <span class="badge badge--version">authentik 2023.10+</span> | ##### `deny_message` (string) <span class="badge badge--version">authentik 2023.10+</span> | ||||||
|  |  | ||||||
| Optionally overwrite the deny message shown, has a higher priority than the message configured in the stage. | Optionally overwrite the deny message shown, has a higher priority than the message configured in the stage. | ||||||
|  |  | ||||||
| @ -128,7 +128,7 @@ If set, this must be a list of group objects and not group names. | |||||||
|  |  | ||||||
| Path the `pending_user` will be written to. If not set in the flow, falls back to the value set in the user_write stage, and otherwise to the `users` path. | Path the `pending_user` will be written to. If not set in the flow, falls back to the value set in the user_write stage, and otherwise to the `users` path. | ||||||
|  |  | ||||||
| ##### `user_type` (string) <span class="badge badge--version">authentik 2023.10+</span> | ##### `user_type` (string) <span class="badge badge--version">authentik 2023.10+</span> | ||||||
|  |  | ||||||
| Type the `pending_user` will be created as. Must be one of `internal`, `external` or `service_account`. | Type the `pending_user` will be created as. Must be one of `internal`, `external` or `service_account`. | ||||||
|  |  | ||||||
|  | |||||||
| @ -10,7 +10,7 @@ Copy all of the integration key, secret key and API hostname, and paste them in | |||||||
|  |  | ||||||
| Devices created reference the stage they were created with, since the API credentials are needed to authenticate. This also means when the stage is deleted, all devices are removed. | Devices created reference the stage they were created with, since the API credentials are needed to authenticate. This also means when the stage is deleted, all devices are removed. | ||||||
|  |  | ||||||
| ## Importing users <span class="badge badge--version">authentik 2022.9+</span> | ## Importing users <span class="badge badge--version">authentik 2022.9+</span> | ||||||
|  |  | ||||||
| :::info | :::info | ||||||
| Due to the way the Duo API works, authentik can only automatically import existing Duo users when a Duo MFA or higher license is active. | Due to the way the Duo API works, authentik can only automatically import existing Duo users when a Duo MFA or higher license is active. | ||||||
| @ -20,7 +20,7 @@ To import a device, open the Stages list in the authentik Admin interface. On th | |||||||
|  |  | ||||||
| The Duo username can be found by navigating to your Duo Admin dashboard and selecting _Users_ in the sidebar. Optionally if you have multiple users with the same username, you can click on a User and copy their ID from the URL, and use that to import the device. | The Duo username can be found by navigating to your Duo Admin dashboard and selecting _Users_ in the sidebar. Optionally if you have multiple users with the same username, you can click on a User and copy their ID from the URL, and use that to import the device. | ||||||
|  |  | ||||||
| ### Older versions <span class="badge badge--version">authentik 2021.9.1+</span> | ### Older versions <span class="badge badge--version">authentik 2021.9.1+</span> | ||||||
|  |  | ||||||
| You can call the `/api/v3/stages/authenticator/duo/{stage_uuid}/import_devices/` endpoint ([see here](https://goauthentik.io/api/#post-/stages/authenticator/duo/-stage_uuid-/import_devices/)) using the following parameters: | You can call the `/api/v3/stages/authenticator/duo/{stage_uuid}/import_devices/` endpoint ([see here](https://goauthentik.io/api/#post-/stages/authenticator/duo/-stage_uuid-/import_devices/)) using the following parameters: | ||||||
|  |  | ||||||
|  | |||||||
| @ -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). | ||||||
|  | |||||||
| @ -1,7 +1,12 @@ | |||||||
|  | --- | ||||||
|  | title: Caddy | ||||||
|  | hide_title: true | ||||||
|  | --- | ||||||
|  |  | ||||||
| import Tabs from "@theme/Tabs"; | import Tabs from "@theme/Tabs"; | ||||||
| import TabItem from "@theme/TabItem"; | import TabItem from "@theme/TabItem"; | ||||||
|  |  | ||||||
| # Caddy <span class="badge badge--version">authentik 2022.8+</span> | # Caddy <span class="badge badge--version">authentik 2022.8+</span> | ||||||
|  |  | ||||||
| The configuration template shown below apply to both single-application and domain-level forward auth. | The configuration template shown below apply to both single-application and domain-level forward auth. | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,7 +1,12 @@ | |||||||
|  | --- | ||||||
|  | title: Envoy | ||||||
|  | hide_title: true | ||||||
|  | --- | ||||||
|  |  | ||||||
| import Tabs from "@theme/Tabs"; | import Tabs from "@theme/Tabs"; | ||||||
| import TabItem from "@theme/TabItem"; | import TabItem from "@theme/TabItem"; | ||||||
|  |  | ||||||
| # Envoy <span class="badge badge--version">authentik 2022.6+</span> | # Envoy <span class="badge badge--version">authentik 2022.6+</span> | ||||||
|  |  | ||||||
| The configuration template shown below apply to both single-application and domain-level forward auth. | The configuration template shown below apply to both single-application and domain-level forward auth. | ||||||
|  |  | ||||||
|  | |||||||
| @ -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,7 +2,7 @@ | |||||||
| title: Blueprints | title: Blueprints | ||||||
| --- | --- | ||||||
|  |  | ||||||
| <span class="badge badge--version">authentik 2022.8+</span> | <span class="badge badge--version">authentik 2022.8+</span> | ||||||
|  |  | ||||||
| --- | --- | ||||||
|  |  | ||||||
|  | |||||||
| @ -26,7 +26,7 @@ For example: | |||||||
|  |  | ||||||
| ## `authentik_core.user` | ## `authentik_core.user` | ||||||
|  |  | ||||||
| ### `password` <span class="badge badge--version">authentik 2023.6+</span> | ### `password` <span class="badge badge--version">authentik 2023.6+</span> | ||||||
|  |  | ||||||
| Via the standard API, a user's password can only be set via the separate `/api/v3/core/users/<id>/set_password/` endpoint. In blueprints, the password of a user can be set using the `password` field. | Via the standard API, a user's password can only be set via the separate `/api/v3/core/users/<id>/set_password/` endpoint. In blueprints, the password of a user can be set using the `password` field. | ||||||
|  |  | ||||||
| @ -45,7 +45,7 @@ For example: | |||||||
|       password: this-should-be-a-long-value |       password: this-should-be-a-long-value | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ### `permissions` <span class="badge badge--version">authentik 2024.8+</span> | ### `permissions` <span class="badge badge--version">authentik 2024.8+</span> | ||||||
|  |  | ||||||
| The `permissions` field can be used to set global permissions for a user. A full list of possible permissions is included in the JSON schema for blueprints. | The `permissions` field can be used to set global permissions for a user. A full list of possible permissions is included in the JSON schema for blueprints. | ||||||
|  |  | ||||||
| @ -63,7 +63,7 @@ For example: | |||||||
|  |  | ||||||
| ## `authentik_core.application` | ## `authentik_core.application` | ||||||
|  |  | ||||||
| ### `icon` <span class="badge badge--version">authentik 2023.5+</span> | ### `icon` <span class="badge badge--version">authentik 2023.5+</span> | ||||||
|  |  | ||||||
| Application icons can be directly set to URLs with the `icon` field. | Application icons can be directly set to URLs with the `icon` field. | ||||||
|  |  | ||||||
| @ -81,7 +81,7 @@ For example: | |||||||
|  |  | ||||||
| ## `authentik_sources_oauth.oauthsource`, `authentik_sources_saml.samlsource`, `authentik_sources_plex.plexsource` | ## `authentik_sources_oauth.oauthsource`, `authentik_sources_saml.samlsource`, `authentik_sources_plex.plexsource` | ||||||
|  |  | ||||||
| ### `icon` <span class="badge badge--version">authentik 2023.5+</span> | ### `icon` <span class="badge badge--version">authentik 2023.5+</span> | ||||||
|  |  | ||||||
| Source icons can be directly set to URLs with the `icon` field. | Source icons can be directly set to URLs with the `icon` field. | ||||||
|  |  | ||||||
| @ -99,7 +99,7 @@ For example: | |||||||
|  |  | ||||||
| ## `authentik_flows.flow` | ## `authentik_flows.flow` | ||||||
|  |  | ||||||
| ### `icon` <span class="badge badge--version">authentik 2023.5+</span> | ### `icon` <span class="badge badge--version">authentik 2023.5+</span> | ||||||
|  |  | ||||||
| Flow backgrounds can be directly set to URLs with the `background` field. | Flow backgrounds can be directly set to URLs with the `background` field. | ||||||
|  |  | ||||||
| @ -119,7 +119,7 @@ For example: | |||||||
|  |  | ||||||
| ## `authentik_rbac.role` | ## `authentik_rbac.role` | ||||||
|  |  | ||||||
| ### `permissions` <span class="badge badge--version">authentik 2024.8+</span> | ### `permissions` <span class="badge badge--version">authentik 2024.8+</span> | ||||||
|  |  | ||||||
| The `permissions` field can be used to set global permissions for a role. A full list of possible permissions is included in the JSON schema for blueprints. | The `permissions` field can be used to set global permissions for a role. A full list of possible permissions is included in the JSON schema for blueprints. | ||||||
|  |  | ||||||
|  | |||||||
| @ -29,7 +29,7 @@ user = list_flatten(["foo"]) | |||||||
| # user = "foo" | # user = "foo" | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ### `ak_call_policy(name: str, **kwargs) -> PolicyResult` <span class="badge badge--version">authentik 2021.12+</span> | ### `ak_call_policy(name: str, **kwargs) -> PolicyResult` <span class="badge badge--version">authentik 2021.12+</span> | ||||||
|  |  | ||||||
| Call another policy with the name _name_. Current request is passed to policy. Key-word arguments | Call another policy with the name _name_. Current request is passed to policy. Key-word arguments | ||||||
| can be used to modify the request's context. | can be used to modify the request's context. | ||||||
| @ -70,7 +70,7 @@ Example: | |||||||
| other_user = ak_user_by(username="other_user") | other_user = ak_user_by(username="other_user") | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ### `ak_user_has_authenticator(user: User, device_type: Optional[str] = None) -> bool` <span class="badge badge--version">authentik 2022.9+</span> | ### `ak_user_has_authenticator(user: User, device_type: Optional[str] = None) -> bool` <span class="badge badge--version">authentik 2022.9+</span> | ||||||
|  |  | ||||||
| Check if a user has any authenticator devices. Only fully validated devices are counted. | Check if a user has any authenticator devices. Only fully validated devices are counted. | ||||||
|  |  | ||||||
| @ -87,7 +87,7 @@ Example: | |||||||
| return ak_user_has_authenticator(request.user) | return ak_user_has_authenticator(request.user) | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ### `ak_create_event(action: str, **kwargs) -> None` <span class="badge badge--version">authentik 2022.9+</span> | ### `ak_create_event(action: str, **kwargs) -> None` <span class="badge badge--version">authentik 2022.9+</span> | ||||||
|  |  | ||||||
| Create a new event with the action set to `action`. Any additional key-word parameters will be saved in the event context. Additionally, `context` will be set to the context in which this function is called. | Create a new event with the action set to `action`. Any additional key-word parameters will be saved in the event context. Additionally, `context` will be set to the context in which this function is called. | ||||||
|  |  | ||||||
| @ -112,7 +112,7 @@ ip_address('192.0.2.1') in ip_network('192.0.2.0/24') | |||||||
| # evaluates to True | # evaluates to True | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ## DNS resolution and reverse DNS lookups <span class="badge badge--version">authentik 2023.3+</span> | ## DNS resolution and reverse DNS lookups <span class="badge badge--version">authentik 2023.3+</span> | ||||||
|  |  | ||||||
| To resolve a hostname to a list of IP addresses, use the functions `resolve_dns(hostname)` and `resolve_dns(hostname, ip_version)`. | To resolve a hostname to a list of IP addresses, use the functions `resolve_dns(hostname)` and `resolve_dns(hostname, ip_version)`. | ||||||
|  |  | ||||||
|  | |||||||
| @ -8,11 +8,11 @@ To install authentik automatically (skipping the Out-of-box experience), you can | |||||||
|  |  | ||||||
| Configure the default password for the `akadmin` user. Only read on the first startup. Can be used for any flow executor. | Configure the default password for the `akadmin` user. Only read on the first startup. Can be used for any flow executor. | ||||||
|  |  | ||||||
| ### `AUTHENTIK_BOOTSTRAP_TOKEN` <span class="badge badge--version">authentik 2021.8+</span> | ### `AUTHENTIK_BOOTSTRAP_TOKEN` <span class="badge badge--version">authentik 2021.8+</span> | ||||||
|  |  | ||||||
| Create a token for the default `akadmin` user. Only read on the first startup. The string you specify for this variable is the token key you can use to authenticate yourself to the API. | Create a token for the default `akadmin` user. Only read on the first startup. The string you specify for this variable is the token key you can use to authenticate yourself to the API. | ||||||
|  |  | ||||||
| ### `AUTHENTIK_BOOTSTRAP_EMAIL` <span class="badge badge--version">authentik 2023.3+</span> | ### `AUTHENTIK_BOOTSTRAP_EMAIL` <span class="badge badge--version">authentik 2023.3+</span> | ||||||
|  |  | ||||||
| Set the email address for the default `akadmin` user. | Set the email address for the default `akadmin` user. | ||||||
|  |  | ||||||
|  | |||||||
| @ -299,47 +299,47 @@ Disable the inbuilt update-checker. Defaults to `false`. | |||||||
|     -   Kubeconfig |     -   Kubeconfig | ||||||
|     -   Existence of a docker socket |     -   Existence of a docker socket | ||||||
|  |  | ||||||
| ### `AUTHENTIK_LDAP__TASK_TIMEOUT_HOURS` <span class="badge badge--version">authentik 2023.1+</span> | ### `AUTHENTIK_LDAP__TASK_TIMEOUT_HOURS` <span class="badge badge--version">authentik 2023.1+</span> | ||||||
|  |  | ||||||
| Timeout in hours for LDAP synchronization tasks. | Timeout in hours for LDAP synchronization tasks. | ||||||
|  |  | ||||||
| Defaults to `2`. | Defaults to `2`. | ||||||
|  |  | ||||||
| ### `AUTHENTIK_LDAP__PAGE_SIZE` <span class="badge badge--version">authentik 2023.6.1+</span> | ### `AUTHENTIK_LDAP__PAGE_SIZE` <span class="badge badge--version">authentik 2023.6.1+</span> | ||||||
|  |  | ||||||
| Page size for LDAP synchronization. Controls the number of objects created in a single task. | Page size for LDAP synchronization. Controls the number of objects created in a single task. | ||||||
|  |  | ||||||
| Defaults to `50`. | Defaults to `50`. | ||||||
|  |  | ||||||
| ### `AUTHENTIK_LDAP__TLS__CIPHERS` <span class="badge badge--version">authentik 2022.7+</span> | ### `AUTHENTIK_LDAP__TLS__CIPHERS` <span class="badge badge--version">authentik 2022.7+</span> | ||||||
|  |  | ||||||
| Allows configuration of TLS Cliphers for LDAP connections used by LDAP sources. Setting applies to all sources. | Allows configuration of TLS Cliphers for LDAP connections used by LDAP sources. Setting applies to all sources. | ||||||
|  |  | ||||||
| Defaults to `null`. | Defaults to `null`. | ||||||
|  |  | ||||||
| ### `AUTHENTIK_REPUTATION__EXPIRY` <span class="badge badge--version">authentik 2023.8.2+</span> | ### `AUTHENTIK_REPUTATION__EXPIRY` <span class="badge badge--version">authentik 2023.8.2+</span> | ||||||
|  |  | ||||||
| Configure how long reputation scores should be saved for in seconds. Note that this is different than [`AUTHENTIK_REDIS__CACHE_TIMEOUT_REPUTATION`](#redis-settings), as reputation is saved to the database every 5 minutes. | Configure how long reputation scores should be saved for in seconds. Note that this is different than [`AUTHENTIK_REDIS__CACHE_TIMEOUT_REPUTATION`](#redis-settings), as reputation is saved to the database every 5 minutes. | ||||||
|  |  | ||||||
| Defaults to `86400`. | Defaults to `86400`. | ||||||
|  |  | ||||||
| ### `AUTHENTIK_SESSION_STORAGE` <span class="badge badge--version">authentik 2024.4+</span> | ### `AUTHENTIK_SESSION_STORAGE` <span class="badge badge--version">authentik 2024.4+</span> | ||||||
|  |  | ||||||
| Configure if the sessions are stored in the cache or the database. Defaults to `cache`. Allowed values are `cache` and `db`. Note that changing this value will invalidate all previous sessions. | Configure if the sessions are stored in the cache or the database. Defaults to `cache`. Allowed values are `cache` and `db`. Note that changing this value will invalidate all previous sessions. | ||||||
|  |  | ||||||
| ### `AUTHENTIK_WEB__WORKERS` <span class="badge badge--version">authentik 2022.9+</span> | ### `AUTHENTIK_WEB__WORKERS` <span class="badge badge--version">authentik 2022.9+</span> | ||||||
|  |  | ||||||
| Configure how many gunicorn worker processes should be started (see https://docs.gunicorn.org/en/stable/design.html). | Configure how many gunicorn worker processes should be started (see https://docs.gunicorn.org/en/stable/design.html). | ||||||
|  |  | ||||||
| Defaults to 2. A value below 2 workers is not recommended. In environments where scaling with multiple replicas of the authentik server is not possible, this number can be increased to handle higher loads. | Defaults to 2. A value below 2 workers is not recommended. In environments where scaling with multiple replicas of the authentik server is not possible, this number can be increased to handle higher loads. | ||||||
|  |  | ||||||
| ### `AUTHENTIK_WEB__THREADS` <span class="badge badge--version">authentik 2022.9+</span> | ### `AUTHENTIK_WEB__THREADS` <span class="badge badge--version">authentik 2022.9+</span> | ||||||
|  |  | ||||||
| Configure how many gunicorn threads a worker processes should have (see https://docs.gunicorn.org/en/stable/design.html). | Configure how many gunicorn threads a worker processes should have (see https://docs.gunicorn.org/en/stable/design.html). | ||||||
|  |  | ||||||
| Defaults to 4. | Defaults to 4. | ||||||
|  |  | ||||||
| ### `AUTHENTIK_WORKER__CONCURRENCY` <span class="badge badge--version">authentik 2023.9+</span> | ### `AUTHENTIK_WORKER__CONCURRENCY` <span class="badge badge--version">authentik 2023.9+</span> | ||||||
|  |  | ||||||
| Configure Celery worker concurrency for authentik worker (see https://docs.celeryq.dev/en/latest/userguide/configuration.html#worker-concurrency). This essentially defines the number of worker processes spawned for a single worker. | Configure Celery worker concurrency for authentik worker (see https://docs.celeryq.dev/en/latest/userguide/configuration.html#worker-concurrency). This essentially defines the number of worker processes spawned for a single worker. | ||||||
|  |  | ||||||
|  | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -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. | ||||||
|  |  | ||||||
|  | |||||||
| @ -20,8 +20,8 @@ The following placeholders will be used: | |||||||
|  |  | ||||||
|  |  | ||||||
| 2. **Application Name:** Choose a name users will recognize ie: authentik | 2. **Application Name:** Choose a name users will recognize ie: authentik | ||||||
| 3. **Homepage URL**:: www.my.company | 3. **Homepage URL:** www.my.company | ||||||
| 4. **Authorization callback URL**: https://authentik.company/source/oauth/callback/github | 4. **Authorization callback URL:**: https://authentik.company/source/oauth/callback/github | ||||||
| 5. Click **Register Application** | 5. Click **Register Application** | ||||||
|  |  | ||||||
| Example screenshot | Example screenshot | ||||||
| @ -35,8 +35,8 @@ Example screenshot | |||||||
|  |  | ||||||
| 8. Under _Directory -> Federation & Social login_ Click **Create Github OAuth Source** | 8. Under _Directory -> Federation & Social login_ Click **Create Github OAuth Source** | ||||||
|  |  | ||||||
| 9. **Name**: Choose a name (For the example I use Github) | 9. **Name:** Choose a name (For the example I use Github) | ||||||
| 10. **Slug**: github (If you choose a different slug the URLs will need to be updated to reflect the change) | 10. **Slug:** github (If you choose a different slug the URLs will need to be updated to reflect the change) | ||||||
| 11. **Consumer Key:** Client ID from step 6 | 11. **Consumer Key:** Client ID from step 6 | ||||||
| 12. **Consumer Secret:** Client Secret from step 7 | 12. **Consumer Secret:** Client Secret from step 7 | ||||||
|  |  | ||||||
|  | |||||||
| @ -2,13 +2,14 @@ import { generateVersionDropdown } from "./src/utils.js"; | |||||||
| import apiReference from "./docs/developer-docs/api/reference/sidebar"; | import apiReference from "./docs/developer-docs/api/reference/sidebar"; | ||||||
|  |  | ||||||
| const releases = [ | const releases = [ | ||||||
|  |     "releases/2024/v2024.10", | ||||||
|     "releases/2024/v2024.8", |     "releases/2024/v2024.8", | ||||||
|     "releases/2024/v2024.6", |     "releases/2024/v2024.6", | ||||||
|     "releases/2024/v2024.4", |  | ||||||
|     { |     { | ||||||
|         type: "category", |         type: "category", | ||||||
|         label: "Previous versions", |         label: "Previous versions", | ||||||
|         items: [ |         items: [ | ||||||
|  |             "releases/2024/v2024.4", | ||||||
|             "releases/2024/v2024.2", |             "releases/2024/v2024.2", | ||||||
|             "releases/2023/v2023.10", |             "releases/2023/v2023.10", | ||||||
|             "releases/2023/v2023.8", |             "releases/2023/v2023.8", | ||||||
|  | |||||||
| @ -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
	