web: fix enums
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
ef9f08553c
commit
99be97206b
|
@ -1,4 +1,4 @@
|
||||||
import { ChallengeTypeEnum } from "authentik-api";
|
import { ChallengeChoices } from "authentik-api";
|
||||||
|
|
||||||
export interface Error {
|
export interface Error {
|
||||||
code: string;
|
code: string;
|
||||||
|
@ -10,7 +10,7 @@ export interface ErrorDict {
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Challenge {
|
export interface Challenge {
|
||||||
type: ChallengeTypeEnum;
|
type: ChallengeChoices;
|
||||||
component?: string;
|
component?: string;
|
||||||
title?: string;
|
title?: string;
|
||||||
response_errors?: ErrorDict;
|
response_errors?: ErrorDict;
|
||||||
|
|
|
@ -37,7 +37,7 @@ import { AuthenticatorValidateStageChallenge } from "./stages/authenticator_vali
|
||||||
import { WebAuthnAuthenticatorRegisterChallenge } from "./stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage";
|
import { WebAuthnAuthenticatorRegisterChallenge } from "./stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage";
|
||||||
import { CaptchaChallenge } from "./stages/captcha/CaptchaStage";
|
import { CaptchaChallenge } from "./stages/captcha/CaptchaStage";
|
||||||
import { StageHost } from "./stages/base";
|
import { StageHost } from "./stages/base";
|
||||||
import { Challenge, ChallengeTypeEnum, Config, FlowsApi } from "authentik-api";
|
import { Challenge, ChallengeChoices, Config, FlowsApi } from "authentik-api";
|
||||||
import { config, DEFAULT_CONFIG } from "../api/Config";
|
import { config, DEFAULT_CONFIG } from "../api/Config";
|
||||||
import { ifDefined } from "lit-html/directives/if-defined";
|
import { ifDefined } from "lit-html/directives/if-defined";
|
||||||
import { until } from "lit-html/directives/until";
|
import { until } from "lit-html/directives/until";
|
||||||
|
@ -155,7 +155,7 @@ export class FlowExecutor extends LitElement implements StageHost {
|
||||||
|
|
||||||
errorMessage(error: string): void {
|
errorMessage(error: string): void {
|
||||||
this.challenge = <ShellChallenge>{
|
this.challenge = <ShellChallenge>{
|
||||||
type: ChallengeTypeEnum.Shell,
|
type: ChallengeChoices.Shell,
|
||||||
body: `<header class="pf-c-login__main-header">
|
body: `<header class="pf-c-login__main-header">
|
||||||
<h1 class="pf-c-title pf-m-3xl">
|
<h1 class="pf-c-title pf-m-3xl">
|
||||||
${t`Whoops!`}
|
${t`Whoops!`}
|
||||||
|
@ -188,16 +188,16 @@ export class FlowExecutor extends LitElement implements StageHost {
|
||||||
return html``;
|
return html``;
|
||||||
}
|
}
|
||||||
switch (this.challenge.type) {
|
switch (this.challenge.type) {
|
||||||
case ChallengeTypeEnum.Redirect:
|
case ChallengeChoices.Redirect:
|
||||||
console.debug("authentik/flows: redirecting to url from server", (this.challenge as RedirectChallenge).to);
|
console.debug("authentik/flows: redirecting to url from server", (this.challenge as RedirectChallenge).to);
|
||||||
window.location.assign((this.challenge as RedirectChallenge).to);
|
window.location.assign((this.challenge as RedirectChallenge).to);
|
||||||
return html`<ak-empty-state
|
return html`<ak-empty-state
|
||||||
?loading=${true}
|
?loading=${true}
|
||||||
header=${t`Loading`}>
|
header=${t`Loading`}>
|
||||||
</ak-empty-state>`;
|
</ak-empty-state>`;
|
||||||
case ChallengeTypeEnum.Shell:
|
case ChallengeChoices.Shell:
|
||||||
return html`${unsafeHTML((this.challenge as ShellChallenge).body)}`;
|
return html`${unsafeHTML((this.challenge as ShellChallenge).body)}`;
|
||||||
case ChallengeTypeEnum.Native:
|
case ChallengeChoices.Native:
|
||||||
switch (this.challenge.component) {
|
switch (this.challenge.component) {
|
||||||
case "ak-stage-access-denied":
|
case "ak-stage-access-denied":
|
||||||
return html`<ak-stage-access-denied .host=${this} .challenge=${this.challenge as AccessDeniedChallenge}></ak-stage-access-denied>`;
|
return html`<ak-stage-access-denied .host=${this} .challenge=${this.challenge as AccessDeniedChallenge}></ak-stage-access-denied>`;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { CoreApi, Application, ProvidersApi, Provider, ApplicationPolicyEngineModeEnum } from "authentik-api";
|
import { CoreApi, Application, ProvidersApi, Provider, PolicyEngineModeEnum } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { CSSResult, customElement, property } from "lit-element";
|
import { CSSResult, customElement, property } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -43,17 +43,17 @@ export class ApplicationForm extends ModelForm<Application, string> {
|
||||||
if (this.instance) {
|
if (this.instance) {
|
||||||
writeOp = new CoreApi(DEFAULT_CONFIG).coreApplicationsUpdate({
|
writeOp = new CoreApi(DEFAULT_CONFIG).coreApplicationsUpdate({
|
||||||
slug: this.instance.slug,
|
slug: this.instance.slug,
|
||||||
data: data
|
applicationRequest: data
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
writeOp = new CoreApi(DEFAULT_CONFIG).coreApplicationsCreate({
|
writeOp = new CoreApi(DEFAULT_CONFIG).coreApplicationsCreate({
|
||||||
data: data
|
applicationRequest: data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const icon = this.getFormFile();
|
const icon = this.getFormFile();
|
||||||
if (icon) {
|
if (icon) {
|
||||||
return writeOp.then(app => {
|
return writeOp.then(app => {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreApplicationsSetIcon({
|
return new CoreApi(DEFAULT_CONFIG).coreApplicationsSetIconCreate({
|
||||||
slug: app.slug,
|
slug: app.slug,
|
||||||
file: icon
|
file: icon
|
||||||
});
|
});
|
||||||
|
@ -145,10 +145,10 @@ export class ApplicationForm extends ModelForm<Application, string> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="policyEngineMode">
|
name="policyEngineMode">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${ApplicationPolicyEngineModeEnum.Any} ?selected=${this.instance?.policyEngineMode === ApplicationPolicyEngineModeEnum.Any}>
|
<option value=${PolicyEngineModeEnum.Any} ?selected=${this.instance?.policyEngineMode === PolicyEngineModeEnum.Any}>
|
||||||
${t`ANY, any policy must match to grant access.`}
|
${t`ANY, any policy must match to grant access.`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${ApplicationPolicyEngineModeEnum.All} ?selected=${this.instance?.policyEngineMode === ApplicationPolicyEngineModeEnum.All}>
|
<option value=${PolicyEngineModeEnum.All} ?selected=${this.instance?.policyEngineMode === PolicyEngineModeEnum.All}>
|
||||||
${t`ALL, all policies must match to grant access.`}
|
${t`ALL, all policies must match to grant access.`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { CoreApi, EventsApi, NotificationRule, NotificationRuleSeverityEnum } from "authentik-api";
|
import { CoreApi, EventsApi, NotificationRule, SeverityEnum } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement } from "lit-element";
|
import { customElement } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -40,13 +40,13 @@ export class RuleForm extends ModelForm<NotificationRule, string> {
|
||||||
|
|
||||||
renderSeverity(): TemplateResult {
|
renderSeverity(): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
<option value=${NotificationRuleSeverityEnum.Alert} ?selected=${this.instance?.severity === NotificationRuleSeverityEnum.Alert}>
|
<option value=${SeverityEnum.Alert} ?selected=${this.instance?.severity === SeverityEnum.Alert}>
|
||||||
${t`Alert`}
|
${t`Alert`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${NotificationRuleSeverityEnum.Warning} ?selected=${this.instance?.severity === NotificationRuleSeverityEnum.Warning}>
|
<option value=${SeverityEnum.Warning} ?selected=${this.instance?.severity === SeverityEnum.Warning}>
|
||||||
${t`Warning`}
|
${t`Warning`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${NotificationRuleSeverityEnum.Notice} ?selected=${this.instance?.severity === NotificationRuleSeverityEnum.Notice}>
|
<option value=${SeverityEnum.Notice} ?selected=${this.instance?.severity === SeverityEnum.Notice}>
|
||||||
${t`Notice`}
|
${t`Notice`}
|
||||||
</option>
|
</option>
|
||||||
`;
|
`;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Flow, FlowDesignationEnum, FlowPolicyEngineModeEnum, FlowsApi } from "authentik-api";
|
import { Flow, FlowDesignationEnum, PolicyEngineMode, FlowsApi } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement } from "lit-element";
|
import { customElement } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -101,10 +101,10 @@ export class FlowForm extends ModelForm<Flow, string> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="policyEngineMode">
|
name="policyEngineMode">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${FlowPolicyEngineModeEnum.Any} ?selected=${this.instance?.policyEngineMode === FlowPolicyEngineModeEnum.Any}>
|
<option value=${PolicyEngineMode.Any} ?selected=${this.instance?.policyEngineMode === PolicyEngineMode.Any}>
|
||||||
${t`ANY, any policy must match to grant access.`}
|
${t`ANY, any policy must match to grant access.`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${FlowPolicyEngineModeEnum.All} ?selected=${this.instance?.policyEngineMode === FlowPolicyEngineModeEnum.All}>
|
<option value=${PolicyEngineMode.All} ?selected=${this.instance?.policyEngineMode === PolicyEngineMode.All}>
|
||||||
${t`ALL, all policies must match to grant access.`}
|
${t`ALL, all policies must match to grant access.`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { FlowsApi, FlowStageBinding, FlowStageBindingPolicyEngineModeEnum, Stage, StagesApi } from "authentik-api";
|
import { FlowsApi, FlowStageBinding, PolicyEngineMode, Stage, StagesApi } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement, property } from "lit-element";
|
import { customElement, property } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -140,10 +140,10 @@ export class StageBindingForm extends ModelForm<FlowStageBinding, string> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="policyEngineMode">
|
name="policyEngineMode">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${FlowStageBindingPolicyEngineModeEnum.Any} ?selected=${this.instance?.policyEngineMode === FlowStageBindingPolicyEngineModeEnum.Any}>
|
<option value=${PolicyEngineMode.Any} ?selected=${this.instance?.policyEngineMode === PolicyEngineMode.Any}>
|
||||||
${t`ANY, any policy must match to include this stage access.`}
|
${t`ANY, any policy must match to include this stage access.`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${FlowStageBindingPolicyEngineModeEnum.All} ?selected=${this.instance?.policyEngineMode === FlowStageBindingPolicyEngineModeEnum.All}>
|
<option value=${PolicyEngineMode.All} ?selected=${this.instance?.policyEngineMode === PolicyEngineMode.All}>
|
||||||
${t`ALL, all policies must match to include this stage access.`}
|
${t`ALL, all policies must match to include this stage access.`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { CryptoApi, FlowDesignationEnum, FlowsApi, OAuth2Provider, OAuth2ProviderClientTypeEnum, OAuth2ProviderIssuerModeEnum, OAuth2ProviderJwtAlgEnum, OAuth2ProviderSubModeEnum, PropertymappingsApi, ProvidersApi } from "authentik-api";
|
import { CryptoApi, FlowDesignationEnum, FlowsApi, OAuth2Provider, ClientTypeEnum, IssuerModeEnum, JwtAlgEnum, SubModeEnum, PropertymappingsApi, ProvidersApi } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement, property } from "lit-element";
|
import { customElement, property } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -17,7 +17,7 @@ export class OAuth2ProviderFormPage extends ModelForm<OAuth2Provider, number> {
|
||||||
return new ProvidersApi(DEFAULT_CONFIG).providersOauth2Retrieve({
|
return new ProvidersApi(DEFAULT_CONFIG).providersOauth2Retrieve({
|
||||||
id: pk,
|
id: pk,
|
||||||
}).then(provider => {
|
}).then(provider => {
|
||||||
this.showClientSecret = provider.clientType === OAuth2ProviderClientTypeEnum.Confidential;
|
this.showClientSecret = provider.clientType === ClientTypeEnum.Confidential;
|
||||||
return provider;
|
return provider;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -82,16 +82,16 @@ export class OAuth2ProviderFormPage extends ModelForm<OAuth2Provider, number> {
|
||||||
name="clientType">
|
name="clientType">
|
||||||
<select class="pf-c-form-control" @change=${(ev: Event) => {
|
<select class="pf-c-form-control" @change=${(ev: Event) => {
|
||||||
const target = ev.target as HTMLSelectElement;
|
const target = ev.target as HTMLSelectElement;
|
||||||
if (target.selectedOptions[0].value === OAuth2ProviderClientTypeEnum.Public) {
|
if (target.selectedOptions[0].value === ClientTypeEnum.Public) {
|
||||||
this.showClientSecret = false;
|
this.showClientSecret = false;
|
||||||
} else {
|
} else {
|
||||||
this.showClientSecret = true;
|
this.showClientSecret = true;
|
||||||
}
|
}
|
||||||
}}>
|
}}>
|
||||||
<option value=${OAuth2ProviderClientTypeEnum.Confidential} ?selected=${this.instance?.clientType === OAuth2ProviderClientTypeEnum.Confidential}>
|
<option value=${ClientTypeEnum.Confidential} ?selected=${this.instance?.clientType === ClientTypeEnum.Confidential}>
|
||||||
${t`Confidential`}
|
${t`Confidential`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${OAuth2ProviderClientTypeEnum.Public} ?selected=${this.instance?.clientType === OAuth2ProviderClientTypeEnum.Public}>
|
<option value=${ClientTypeEnum.Public} ?selected=${this.instance?.clientType === ClientTypeEnum.Public}>
|
||||||
${t`Public`}
|
${t`Public`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
@ -147,10 +147,10 @@ export class OAuth2ProviderFormPage extends ModelForm<OAuth2Provider, number> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="jwtAlg">
|
name="jwtAlg">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${OAuth2ProviderJwtAlgEnum.Rs256} ?selected=${this.instance?.jwtAlg === OAuth2ProviderJwtAlgEnum.Rs256}>
|
<option value=${JwtAlgEnum.Rs256} ?selected=${this.instance?.jwtAlg === JwtAlgEnum.Rs256}>
|
||||||
${t`RS256 (Asymmetric Encryption)`}
|
${t`RS256 (Asymmetric Encryption)`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${OAuth2ProviderJwtAlgEnum.Hs256} ?selected=${this.instance?.jwtAlg === OAuth2ProviderJwtAlgEnum.Hs256}>
|
<option value=${JwtAlgEnum.Hs256} ?selected=${this.instance?.jwtAlg === JwtAlgEnum.Hs256}>
|
||||||
${t`HS256 (Symmetric Encryption)`}
|
${t`HS256 (Symmetric Encryption)`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
@ -204,16 +204,16 @@ export class OAuth2ProviderFormPage extends ModelForm<OAuth2Provider, number> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="subMode">
|
name="subMode">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value="${OAuth2ProviderSubModeEnum.HashedUserId}" ?selected=${this.instance?.subMode === OAuth2ProviderSubModeEnum.HashedUserId}>
|
<option value="${SubModeEnum.HashedUserId}" ?selected=${this.instance?.subMode === SubModeEnum.HashedUserId}>
|
||||||
${t`Based on the Hashed User ID`}
|
${t`Based on the Hashed User ID`}
|
||||||
</option>
|
</option>
|
||||||
<option value="${OAuth2ProviderSubModeEnum.UserUsername}" ?selected=${this.instance?.subMode === OAuth2ProviderSubModeEnum.UserUsername}>
|
<option value="${SubModeEnum.UserUsername}" ?selected=${this.instance?.subMode === SubModeEnum.UserUsername}>
|
||||||
${t`Based on the username`}
|
${t`Based on the username`}
|
||||||
</option>
|
</option>
|
||||||
<option value="${OAuth2ProviderSubModeEnum.UserEmail}" ?selected=${this.instance?.subMode === OAuth2ProviderSubModeEnum.UserEmail}>
|
<option value="${SubModeEnum.UserEmail}" ?selected=${this.instance?.subMode === SubModeEnum.UserEmail}>
|
||||||
${t`Based on the User's Email. This is recommended over the UPN method.`}
|
${t`Based on the User's Email. This is recommended over the UPN method.`}
|
||||||
</option>
|
</option>
|
||||||
<option value="${OAuth2ProviderSubModeEnum.UserUpn}" ?selected=${this.instance?.subMode === OAuth2ProviderSubModeEnum.UserUpn}>
|
<option value="${SubModeEnum.UserUpn}" ?selected=${this.instance?.subMode === SubModeEnum.UserUpn}>
|
||||||
${t`Based on the User's UPN, only works if user has a 'upn' attribute set. Use this method only if you have different UPN and Mail domains.`}
|
${t`Based on the User's UPN, only works if user has a 'upn' attribute set. Use this method only if you have different UPN and Mail domains.`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
@ -235,10 +235,10 @@ export class OAuth2ProviderFormPage extends ModelForm<OAuth2Provider, number> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="issuerMode">
|
name="issuerMode">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value="${OAuth2ProviderIssuerModeEnum.PerProvider}" ?selected=${this.instance?.issuerMode === OAuth2ProviderIssuerModeEnum.PerProvider}>
|
<option value="${IssuerModeEnum.PerProvider}" ?selected=${this.instance?.issuerMode === IssuerModeEnum.PerProvider}>
|
||||||
${t`Each provider has a different issuer, based on the application slug.`}
|
${t`Each provider has a different issuer, based on the application slug.`}
|
||||||
</option>
|
</option>
|
||||||
<option value="${OAuth2ProviderIssuerModeEnum.Global}" ?selected=${this.instance?.issuerMode === OAuth2ProviderIssuerModeEnum.Global}>
|
<option value="${IssuerModeEnum.Global}" ?selected=${this.instance?.issuerMode === IssuerModeEnum.Global}>
|
||||||
${t`Same identifier is used for all providers`}
|
${t`Same identifier is used for all providers`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { CryptoApi, FlowDesignationEnum, FlowsApi, SAMLProvider, ProvidersApi, PropertymappingsApi, SAMLProviderSpBindingEnum, SAMLProviderDigestAlgorithmEnum, SAMLProviderSignatureAlgorithmEnum } from "authentik-api";
|
import { CryptoApi, FlowDesignationEnum, FlowsApi, SAMLProvider, ProvidersApi, PropertymappingsApi, SpBindingEnum, DigestAlgorithmEnum, SignatureAlgorithmEnum } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement } from "lit-element";
|
import { customElement } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -87,10 +87,10 @@ export class SAMLProviderFormPage extends ModelForm<SAMLProvider, number> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="spBinding">
|
name="spBinding">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${SAMLProviderSpBindingEnum.Redirect} ?selected=${this.instance?.spBinding === SAMLProviderSpBindingEnum.Redirect}>
|
<option value=${SpBindingEnum.Redirect} ?selected=${this.instance?.spBinding === SpBindingEnum.Redirect}>
|
||||||
${t`Redirect`}
|
${t`Redirect`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLProviderSpBindingEnum.Post} ?selected=${this.instance?.spBinding === SAMLProviderSpBindingEnum.Post}>
|
<option value=${SpBindingEnum.Post} ?selected=${this.instance?.spBinding === SpBindingEnum.Post}>
|
||||||
${t`Post`}
|
${t`Post`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
@ -208,16 +208,16 @@ export class SAMLProviderFormPage extends ModelForm<SAMLProvider, number> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="digestAlgorithm">
|
name="digestAlgorithm">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${SAMLProviderDigestAlgorithmEnum._200009Xmldsigsha1} ?selected=${this.instance?.digestAlgorithm === SAMLProviderDigestAlgorithmEnum._200009Xmldsigsha1}>
|
<option value=${DigestAlgorithmEnum._200009Xmldsigsha1} ?selected=${this.instance?.digestAlgorithm === DigestAlgorithmEnum._200009Xmldsigsha1}>
|
||||||
${t`SHA1`}
|
${t`SHA1`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLProviderDigestAlgorithmEnum._200104Xmlencsha256} ?selected=${this.instance?.digestAlgorithm === SAMLProviderDigestAlgorithmEnum._200104Xmlencsha256 || this.instance?.digestAlgorithm === undefined}>
|
<option value=${DigestAlgorithmEnum._200104Xmlencsha256} ?selected=${this.instance?.digestAlgorithm === DigestAlgorithmEnum._200104Xmlencsha256 || this.instance?.digestAlgorithm === undefined}>
|
||||||
${t`SHA256`}
|
${t`SHA256`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLProviderDigestAlgorithmEnum._200104XmldsigMoresha384} ?selected=${this.instance?.digestAlgorithm === SAMLProviderDigestAlgorithmEnum._200104XmldsigMoresha384}>
|
<option value=${DigestAlgorithmEnum._200104XmldsigMoresha384} ?selected=${this.instance?.digestAlgorithm === DigestAlgorithmEnum._200104XmldsigMoresha384}>
|
||||||
${t`SHA384`}
|
${t`SHA384`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLProviderDigestAlgorithmEnum._200104Xmlencsha512} ?selected=${this.instance?.digestAlgorithm === SAMLProviderDigestAlgorithmEnum._200104Xmlencsha512}>
|
<option value=${DigestAlgorithmEnum._200104Xmlencsha512} ?selected=${this.instance?.digestAlgorithm === DigestAlgorithmEnum._200104Xmlencsha512}>
|
||||||
${t`SHA512`}
|
${t`SHA512`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
@ -227,19 +227,19 @@ export class SAMLProviderFormPage extends ModelForm<SAMLProvider, number> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="signatureAlgorithm">
|
name="signatureAlgorithm">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${SAMLProviderSignatureAlgorithmEnum._200009XmldsigrsaSha1} ?selected=${this.instance?.signatureAlgorithm === SAMLProviderSignatureAlgorithmEnum._200009XmldsigrsaSha1}>
|
<option value=${SignatureAlgorithmEnum._200009XmldsigrsaSha1} ?selected=${this.instance?.signatureAlgorithm === SignatureAlgorithmEnum._200009XmldsigrsaSha1}>
|
||||||
${t`RSA-SHA1`}
|
${t`RSA-SHA1`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLProviderSignatureAlgorithmEnum._200104XmldsigMorersaSha256} ?selected=${this.instance?.signatureAlgorithm === SAMLProviderSignatureAlgorithmEnum._200104XmldsigMorersaSha256 || this.instance?.signatureAlgorithm === undefined}>
|
<option value=${SignatureAlgorithmEnum._200104XmldsigMorersaSha256} ?selected=${this.instance?.signatureAlgorithm === SignatureAlgorithmEnum._200104XmldsigMorersaSha256 || this.instance?.signatureAlgorithm === undefined}>
|
||||||
${t`RSA-SHA256`}
|
${t`RSA-SHA256`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLProviderSignatureAlgorithmEnum._200104XmldsigMorersaSha384} ?selected=${this.instance?.signatureAlgorithm === SAMLProviderSignatureAlgorithmEnum._200104XmldsigMorersaSha384}>
|
<option value=${SignatureAlgorithmEnum._200104XmldsigMorersaSha384} ?selected=${this.instance?.signatureAlgorithm === SignatureAlgorithmEnum._200104XmldsigMorersaSha384}>
|
||||||
${t`RSA-SHA384`}
|
${t`RSA-SHA384`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLProviderSignatureAlgorithmEnum._200104XmldsigMorersaSha512} ?selected=${this.instance?.signatureAlgorithm === SAMLProviderSignatureAlgorithmEnum._200104XmldsigMorersaSha512}>
|
<option value=${SignatureAlgorithmEnum._200104XmldsigMorersaSha512} ?selected=${this.instance?.signatureAlgorithm === SignatureAlgorithmEnum._200104XmldsigMorersaSha512}>
|
||||||
${t`RSA-SHA512`}
|
${t`RSA-SHA512`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLProviderSignatureAlgorithmEnum._200009XmldsigdsaSha1} ?selected=${this.instance?.signatureAlgorithm === SAMLProviderSignatureAlgorithmEnum._200009XmldsigdsaSha1}>
|
<option value=${SignatureAlgorithmEnum._200009XmldsigdsaSha1} ?selected=${this.instance?.signatureAlgorithm === SignatureAlgorithmEnum._200009XmldsigdsaSha1}>
|
||||||
${t`DSA-SHA1`}
|
${t`DSA-SHA1`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -21,7 +21,7 @@ import "../../../elements/events/ObjectChangelog";
|
||||||
import "../../../elements/forms/ModalForm";
|
import "../../../elements/forms/ModalForm";
|
||||||
import "./LDAPSourceForm";
|
import "./LDAPSourceForm";
|
||||||
import { until } from "lit-html/directives/until";
|
import { until } from "lit-html/directives/until";
|
||||||
import { LDAPSource, SourcesApi, TaskStatusEnum } from "authentik-api";
|
import { LDAPSource, SourcesApi, StatusEnum } from "authentik-api";
|
||||||
import { DEFAULT_CONFIG } from "../../../api/Config";
|
import { DEFAULT_CONFIG } from "../../../api/Config";
|
||||||
import { EVENT_REFRESH } from "../../../constants";
|
import { EVENT_REFRESH } from "../../../constants";
|
||||||
|
|
||||||
|
@ -137,9 +137,9 @@ export class LDAPSourceViewPage extends LitElement {
|
||||||
slug: this.source.slug
|
slug: this.source.slug
|
||||||
}).then((ls) => {
|
}).then((ls) => {
|
||||||
let header = html``;
|
let header = html``;
|
||||||
if (ls.status === TaskStatusEnum.Warning) {
|
if (ls.status === StatusEnum.Warning) {
|
||||||
header = html`<p>${t`Task finished with warnings`}</p>`;
|
header = html`<p>${t`Task finished with warnings`}</p>`;
|
||||||
} else if (status === TaskStatusEnum.Error) {
|
} else if (status === StatusEnum.Error) {
|
||||||
header = html`<p>${t`Task finished with errors`}</p>`;
|
header = html`<p>${t`Task finished with errors`}</p>`;
|
||||||
} else {
|
} else {
|
||||||
header = html`<p>${t`Last sync: ${ls.taskFinishTimestamp.toLocaleString()}`}</p>`;
|
header = html`<p>${t`Last sync: ${ls.taskFinishTimestamp.toLocaleString()}`}</p>`;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { OAuthSource, SourcesApi, FlowsApi, FlowDesignationEnum, OAuthSourceUserMatchingModeEnum } from "authentik-api";
|
import { OAuthSource, SourcesApi, FlowsApi, FlowDesignationEnum, UserMatchingModeEnum } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement, property } from "lit-element";
|
import { customElement, property } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -139,19 +139,19 @@ export class OAuthSourceForm extends ModelForm<OAuthSource, string> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="userMatchingMode">
|
name="userMatchingMode">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${OAuthSourceUserMatchingModeEnum.Identifier} ?selected=${this.instance?.userMatchingMode === OAuthSourceUserMatchingModeEnum.Identifier}>
|
<option value=${UserMatchingModeEnum.Identifier} ?selected=${this.instance?.userMatchingMode === UserMatchingModeEnum.Identifier}>
|
||||||
${t`Link users on unique identifier`}
|
${t`Link users on unique identifier`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${OAuthSourceUserMatchingModeEnum.UsernameLink} ?selected=${this.instance?.userMatchingMode === OAuthSourceUserMatchingModeEnum.UsernameLink}>
|
<option value=${UserMatchingModeEnum.UsernameLink} ?selected=${this.instance?.userMatchingMode === UserMatchingModeEnum.UsernameLink}>
|
||||||
${t`Link to a user with identical email address. Can have security implications when a source doesn't validate email addresses`}
|
${t`Link to a user with identical email address. Can have security implications when a source doesn't validate email addresses`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${OAuthSourceUserMatchingModeEnum.UsernameDeny} ?selected=${this.instance?.userMatchingMode === OAuthSourceUserMatchingModeEnum.UsernameDeny}>
|
<option value=${UserMatchingModeEnum.UsernameDeny} ?selected=${this.instance?.userMatchingMode === UserMatchingModeEnum.UsernameDeny}>
|
||||||
${t`Use the user's email address, but deny enrollment when the email address already exists.`}
|
${t`Use the user's email address, but deny enrollment when the email address already exists.`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${OAuthSourceUserMatchingModeEnum.EmailLink} ?selected=${this.instance?.userMatchingMode === OAuthSourceUserMatchingModeEnum.EmailLink}>
|
<option value=${UserMatchingModeEnum.EmailLink} ?selected=${this.instance?.userMatchingMode === UserMatchingModeEnum.EmailLink}>
|
||||||
${t`Link to a user with identical username address. Can have security implications when a username is used with another source.`}
|
${t`Link to a user with identical username address. Can have security implications when a username is used with another source.`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${OAuthSourceUserMatchingModeEnum.EmailDeny} ?selected=${this.instance?.userMatchingMode === OAuthSourceUserMatchingModeEnum.EmailDeny}>
|
<option value=${UserMatchingModeEnum.EmailDeny} ?selected=${this.instance?.userMatchingMode === UserMatchingModeEnum.EmailDeny}>
|
||||||
${t`Use the user's username, but deny enrollment when the username already exists.`}
|
${t`Use the user's username, but deny enrollment when the username already exists.`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { PlexSource, SourcesApi, FlowsApi, FlowDesignationEnum, PlexSourceUserMatchingModeEnum } from "authentik-api";
|
import { PlexSource, SourcesApi, FlowsApi, FlowDesignationEnum, UserMatchingModeEnum } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement, property } from "lit-element";
|
import { customElement, property } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -137,19 +137,19 @@ export class PlexSourceForm extends ModelForm<PlexSource, string> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="userMatchingMode">
|
name="userMatchingMode">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${PlexSourceUserMatchingModeEnum.Identifier} ?selected=${this.instance?.userMatchingMode === PlexSourceUserMatchingModeEnum.Identifier}>
|
<option value=${UserMatchingModeEnum.Identifier} ?selected=${this.instance?.userMatchingMode === UserMatchingModeEnum.Identifier}>
|
||||||
${t`Link users on unique identifier`}
|
${t`Link users on unique identifier`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${PlexSourceUserMatchingModeEnum.UsernameLink} ?selected=${this.instance?.userMatchingMode === PlexSourceUserMatchingModeEnum.UsernameLink}>
|
<option value=${UserMatchingModeEnum.UsernameLink} ?selected=${this.instance?.userMatchingMode === UserMatchingModeEnum.UsernameLink}>
|
||||||
${t`Link to a user with identical email address. Can have security implications when a source doesn't validate email addresses`}
|
${t`Link to a user with identical email address. Can have security implications when a source doesn't validate email addresses`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${PlexSourceUserMatchingModeEnum.UsernameDeny} ?selected=${this.instance?.userMatchingMode === PlexSourceUserMatchingModeEnum.UsernameDeny}>
|
<option value=${UserMatchingModeEnum.UsernameDeny} ?selected=${this.instance?.userMatchingMode === UserMatchingModeEnum.UsernameDeny}>
|
||||||
${t`Use the user's email address, but deny enrollment when the email address already exists.`}
|
${t`Use the user's email address, but deny enrollment when the email address already exists.`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${PlexSourceUserMatchingModeEnum.EmailLink} ?selected=${this.instance?.userMatchingMode === PlexSourceUserMatchingModeEnum.EmailLink}>
|
<option value=${UserMatchingModeEnum.EmailLink} ?selected=${this.instance?.userMatchingMode === UserMatchingModeEnum.EmailLink}>
|
||||||
${t`Link to a user with identical username address. Can have security implications when a username is used with another source.`}
|
${t`Link to a user with identical username address. Can have security implications when a username is used with another source.`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${PlexSourceUserMatchingModeEnum.EmailDeny} ?selected=${this.instance?.userMatchingMode === PlexSourceUserMatchingModeEnum.EmailDeny}>
|
<option value=${UserMatchingModeEnum.EmailDeny} ?selected=${this.instance?.userMatchingMode === UserMatchingModeEnum.EmailDeny}>
|
||||||
${t`Use the user's username, but deny enrollment when the username already exists.`}
|
${t`Use the user's username, but deny enrollment when the username already exists.`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { SAMLSource, SourcesApi, SAMLSourceBindingTypeEnum, SAMLSourceNameIdPolicyEnum, CryptoApi, SAMLSourceDigestAlgorithmEnum, SAMLSourceSignatureAlgorithmEnum, FlowsApi, FlowDesignationEnum } from "authentik-api";
|
import { SAMLSource, SourcesApi, BindingTypeEnum, NameIdPolicyEnum, CryptoApi, DigestAlgorithmEnum, SignatureAlgorithmEnum, FlowsApi, FlowDesignatio } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement } from "lit-element";
|
import { customElement } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -92,13 +92,13 @@ export class SAMLSourceForm extends ModelForm<SAMLSource, string> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="bindingType">
|
name="bindingType">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${SAMLSourceBindingTypeEnum.Redirect} ?selected=${this.instance?.bindingType === SAMLSourceBindingTypeEnum.Redirect}>
|
<option value=${BindingTypeEnum.Redirect} ?selected=${this.instance?.bindingType === BindingTypeEnum.Redirect}>
|
||||||
${t`Redirect binding`}
|
${t`Redirect binding`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceBindingTypeEnum.PostAuto} ?selected=${this.instance?.bindingType === SAMLSourceBindingTypeEnum.PostAuto}>
|
<option value=${BindingTypeEnum.PostAuto} ?selected=${this.instance?.bindingType === BindingTypeEnum.PostAuto}>
|
||||||
${t`Post binding (auto-submit)`}
|
${t`Post binding (auto-submit)`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceBindingTypeEnum.Post} ?selected=${this.instance?.bindingType === SAMLSourceBindingTypeEnum.Post}>
|
<option value=${BindingTypeEnum.Post} ?selected=${this.instance?.bindingType === BindingTypeEnum.Post}>
|
||||||
${t`Post binding`}
|
${t`Post binding`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
@ -139,19 +139,19 @@ export class SAMLSourceForm extends ModelForm<SAMLSource, string> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="nameIdPolicy">
|
name="nameIdPolicy">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${SAMLSourceNameIdPolicyEnum._20nameidFormatpersistent} ?selected=${this.instance?.nameIdPolicy === SAMLSourceNameIdPolicyEnum._20nameidFormatpersistent}>
|
<option value=${NameIdPolicyEnum._20nameidFormatpersistent} ?selected=${this.instance?.nameIdPolicy === NameIdPolicyEnum._20nameidFormatpersistent}>
|
||||||
${t`Persistent`}
|
${t`Persistent`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceNameIdPolicyEnum._11nameidFormatemailAddress} ?selected=${this.instance?.nameIdPolicy === SAMLSourceNameIdPolicyEnum._11nameidFormatemailAddress}>
|
<option value=${NameIdPolicyEnum._11nameidFormatemailAddress} ?selected=${this.instance?.nameIdPolicy === NameIdPolicyEnum._11nameidFormatemailAddress}>
|
||||||
${t`Email address`}
|
${t`Email address`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceNameIdPolicyEnum._20nameidFormatWindowsDomainQualifiedName} ?selected=${this.instance?.nameIdPolicy === SAMLSourceNameIdPolicyEnum._20nameidFormatWindowsDomainQualifiedName}>
|
<option value=${NameIdPolicyEnum._20nameidFormatWindowsDomainQualifiedName} ?selected=${this.instance?.nameIdPolicy === NameIdPolicyEnum._20nameidFormatWindowsDomainQualifiedName}>
|
||||||
${t`Windows`}
|
${t`Windows`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceNameIdPolicyEnum._20nameidFormatX509SubjectName} ?selected=${this.instance?.nameIdPolicy === SAMLSourceNameIdPolicyEnum._20nameidFormatX509SubjectName}>
|
<option value=${NameIdPolicyEnum._20nameidFormatX509SubjectName} ?selected=${this.instance?.nameIdPolicy === NameIdPolicyEnum._20nameidFormatX509SubjectName}>
|
||||||
${t`X509 Subject`}
|
${t`X509 Subject`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceNameIdPolicyEnum._20nameidFormattransient} ?selected=${this.instance?.nameIdPolicy === SAMLSourceNameIdPolicyEnum._20nameidFormattransient}>
|
<option value=${NameIdPolicyEnum._20nameidFormattransient} ?selected=${this.instance?.nameIdPolicy === NameIdPolicyEnum._20nameidFormattransient}>
|
||||||
${t`Transient`}
|
${t`Transient`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
@ -168,16 +168,16 @@ export class SAMLSourceForm extends ModelForm<SAMLSource, string> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="digestAlgorithm">
|
name="digestAlgorithm">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${SAMLSourceDigestAlgorithmEnum._200009Xmldsigsha1} ?selected=${this.instance?.digestAlgorithm === SAMLSourceDigestAlgorithmEnum._200009Xmldsigsha1}>
|
<option value=${DigestAlgorithmEnum._200009Xmldsigsha1} ?selected=${this.instance?.digestAlgorithm === DigestAlgorithmEnum._200009Xmldsigsha1}>
|
||||||
${t`SHA1`}
|
${t`SHA1`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceDigestAlgorithmEnum._200104Xmlencsha256} ?selected=${this.instance?.digestAlgorithm === SAMLSourceDigestAlgorithmEnum._200104Xmlencsha256 || this.instance?.digestAlgorithm === undefined}>
|
<option value=${DigestAlgorithmEnum._200104Xmlencsha256} ?selected=${this.instance?.digestAlgorithm === DigestAlgorithmEnum._200104Xmlencsha256 || this.instance?.digestAlgorithm === undefined}>
|
||||||
${t`SHA256`}
|
${t`SHA256`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceDigestAlgorithmEnum._200104XmldsigMoresha384} ?selected=${this.instance?.digestAlgorithm === SAMLSourceDigestAlgorithmEnum._200104XmldsigMoresha384}>
|
<option value=${DigestAlgorithmEnum._200104XmldsigMoresha384} ?selected=${this.instance?.digestAlgorithm === DigestAlgorithmEnum._200104XmldsigMoresha384}>
|
||||||
${t`SHA384`}
|
${t`SHA384`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceDigestAlgorithmEnum._200104Xmlencsha512} ?selected=${this.instance?.digestAlgorithm === SAMLSourceDigestAlgorithmEnum._200104Xmlencsha512}>
|
<option value=${DigestAlgorithmEnum._200104Xmlencsha512} ?selected=${this.instance?.digestAlgorithm === DigestAlgorithmEnum._200104Xmlencsha512}>
|
||||||
${t`SHA512`}
|
${t`SHA512`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
@ -187,19 +187,19 @@ export class SAMLSourceForm extends ModelForm<SAMLSource, string> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="signatureAlgorithm">
|
name="signatureAlgorithm">
|
||||||
<select class="pf-c-form-control">
|
<select class="pf-c-form-control">
|
||||||
<option value=${SAMLSourceSignatureAlgorithmEnum._200009XmldsigrsaSha1} ?selected=${this.instance?.signatureAlgorithm === SAMLSourceSignatureAlgorithmEnum._200009XmldsigrsaSha1}>
|
<option value=${SignatureAlgorithmEnum._200009XmldsigrsaSha1} ?selected=${this.instance?.signatureAlgorithm === SignatureAlgorithmEnum._200009XmldsigrsaSha1}>
|
||||||
${t`RSA-SHA1`}
|
${t`RSA-SHA1`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceSignatureAlgorithmEnum._200104XmldsigMorersaSha256} ?selected=${this.instance?.signatureAlgorithm === SAMLSourceSignatureAlgorithmEnum._200104XmldsigMorersaSha256 || this.instance?.signatureAlgorithm === undefined}>
|
<option value=${SignatureAlgorithmEnum._200104XmldsigMorersaSha256} ?selected=${this.instance?.signatureAlgorithm === SignatureAlgorithmEnum._200104XmldsigMorersaSha256 || this.instance?.signatureAlgorithm === undefined}>
|
||||||
${t`RSA-SHA256`}
|
${t`RSA-SHA256`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceSignatureAlgorithmEnum._200104XmldsigMorersaSha384} ?selected=${this.instance?.signatureAlgorithm === SAMLSourceSignatureAlgorithmEnum._200104XmldsigMorersaSha384}>
|
<option value=${SignatureAlgorithmEnum._200104XmldsigMorersaSha384} ?selected=${this.instance?.signatureAlgorithm === SignatureAlgorithmEnum._200104XmldsigMorersaSha384}>
|
||||||
${t`RSA-SHA384`}
|
${t`RSA-SHA384`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceSignatureAlgorithmEnum._200104XmldsigMorersaSha512} ?selected=${this.instance?.signatureAlgorithm === SAMLSourceSignatureAlgorithmEnum._200104XmldsigMorersaSha512}>
|
<option value=${SignatureAlgorithmEnum._200104XmldsigMorersaSha512} ?selected=${this.instance?.signatureAlgorithm === SignatureAlgorithmEnum._200104XmldsigMorersaSha512}>
|
||||||
${t`RSA-SHA512`}
|
${t`RSA-SHA512`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${SAMLSourceSignatureAlgorithmEnum._200009XmldsigdsaSha1} ?selected=${this.instance?.signatureAlgorithm === SAMLSourceSignatureAlgorithmEnum._200009XmldsigdsaSha1}>
|
<option value=${SignatureAlgorithmEnum._200009XmldsigdsaSha1} ?selected=${this.instance?.signatureAlgorithm === SignatureAlgorithmEnum._200009XmldsigdsaSha1}>
|
||||||
${t`DSA-SHA1`}
|
${t`DSA-SHA1`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { AuthenticatorValidateStage, AuthenticatorValidateStageNotConfiguredActionEnum, AuthenticatorValidateStageDeviceClassesEnum, StagesApi } from "authentik-api";
|
import { AuthenticatorValidateStage, NotConfiguredActionEnum, DeviceClassesEnum, StagesApi } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement, property } from "lit-element";
|
import { customElement, property } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -16,7 +16,7 @@ export class AuthenticatorValidateStageForm extends ModelForm<AuthenticatorValid
|
||||||
return new StagesApi(DEFAULT_CONFIG).stagesAuthenticatorValidateRetrieve({
|
return new StagesApi(DEFAULT_CONFIG).stagesAuthenticatorValidateRetrieve({
|
||||||
stageUuid: pk,
|
stageUuid: pk,
|
||||||
}).then(stage => {
|
}).then(stage => {
|
||||||
this.showConfigureFlow = stage.notConfiguredAction === AuthenticatorValidateStageNotConfiguredActionEnum.Configure;
|
this.showConfigureFlow = stage.notConfiguredAction === NotConfiguredActionEnum.Configure;
|
||||||
return stage;
|
return stage;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ export class AuthenticatorValidateStageForm extends ModelForm<AuthenticatorValid
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
isDeviceClassSelected(field: AuthenticatorValidateStageDeviceClassesEnum): boolean {
|
isDeviceClassSelected(field: DeviceClassesEnum): boolean {
|
||||||
return (this.instance?.deviceClasses || []).filter(isField => {
|
return (this.instance?.deviceClasses || []).filter(isField => {
|
||||||
return field === isField;
|
return field === isField;
|
||||||
}).length > 0;
|
}).length > 0;
|
||||||
|
@ -73,19 +73,19 @@ export class AuthenticatorValidateStageForm extends ModelForm<AuthenticatorValid
|
||||||
name="notConfiguredAction">
|
name="notConfiguredAction">
|
||||||
<select class="pf-c-form-control" @change=${(ev: Event) => {
|
<select class="pf-c-form-control" @change=${(ev: Event) => {
|
||||||
const target = ev.target as HTMLSelectElement;
|
const target = ev.target as HTMLSelectElement;
|
||||||
if (target.selectedOptions[0].value === AuthenticatorValidateStageNotConfiguredActionEnum.Configure) {
|
if (target.selectedOptions[0].value === NotConfiguredActionEnum.Configure) {
|
||||||
this.showConfigureFlow = true;
|
this.showConfigureFlow = true;
|
||||||
} else {
|
} else {
|
||||||
this.showConfigureFlow = false;
|
this.showConfigureFlow = false;
|
||||||
}
|
}
|
||||||
}}>
|
}}>
|
||||||
<option value=${AuthenticatorValidateStageNotConfiguredActionEnum.Configure} ?selected=${this.instance?.notConfiguredAction === AuthenticatorValidateStageNotConfiguredActionEnum.Configure}>
|
<option value=${NotConfiguredActionEnum.Configure} ?selected=${this.instance?.notConfiguredAction === NotConfiguredActionEnum.Configure}>
|
||||||
${t`Force the user to configure an authenticator`}
|
${t`Force the user to configure an authenticator`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${AuthenticatorValidateStageNotConfiguredActionEnum.Deny} ?selected=${this.instance?.notConfiguredAction === AuthenticatorValidateStageNotConfiguredActionEnum.Deny}>
|
<option value=${NotConfiguredActionEnum.Deny} ?selected=${this.instance?.notConfiguredAction === NotConfiguredActionEnum.Deny}>
|
||||||
${t`Deny the user access`}
|
${t`Deny the user access`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${AuthenticatorValidateStageNotConfiguredActionEnum.Skip} ?selected=${this.instance?.notConfiguredAction === AuthenticatorValidateStageNotConfiguredActionEnum.Skip}>
|
<option value=${NotConfiguredActionEnum.Skip} ?selected=${this.instance?.notConfiguredAction === NotConfiguredActionEnum.Skip}>
|
||||||
${t`Continue`}
|
${t`Continue`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
@ -95,13 +95,13 @@ export class AuthenticatorValidateStageForm extends ModelForm<AuthenticatorValid
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="transports">
|
name="transports">
|
||||||
<select name="users" class="pf-c-form-control" multiple>
|
<select name="users" class="pf-c-form-control" multiple>
|
||||||
<option value=${AuthenticatorValidateStageDeviceClassesEnum.Static} ?selected=${this.isDeviceClassSelected(AuthenticatorValidateStageDeviceClassesEnum.Static)}>
|
<option value=${DeviceClassesEnum.Static} ?selected=${this.isDeviceClassSelected(DeviceClassesEnum.Static)}>
|
||||||
${t`Static Tokens`}
|
${t`Static Tokens`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${AuthenticatorValidateStageDeviceClassesEnum.Totp} ?selected=${this.isDeviceClassSelected(AuthenticatorValidateStageDeviceClassesEnum.Totp)}>
|
<option value=${DeviceClassesEnum.Totp} ?selected=${this.isDeviceClassSelected(DeviceClassesEnum.Totp)}>
|
||||||
${t`TOTP Authenticators`}
|
${t`TOTP Authenticators`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${AuthenticatorValidateStageDeviceClassesEnum.Webauthn} ?selected=${this.isDeviceClassSelected(AuthenticatorValidateStageDeviceClassesEnum.Webauthn)}>
|
<option value=${DeviceClassesEnum.Webauthn} ?selected=${this.isDeviceClassSelected(DeviceClassesEnum.Webauthn)}>
|
||||||
${t`WebAuthn Authenticators`}
|
${t`WebAuthn Authenticators`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { FlowDesignationEnum, FlowsApi, IdentificationStage, IdentificationStageUserFieldsEnum, StagesApi } from "authentik-api";
|
import { FlowDesignationEnum, FlowsApi, IdentificationStage, UserFieldsEnum, StagesApi } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement } from "lit-element";
|
import { customElement } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -40,7 +40,7 @@ export class IdentificationStageForm extends ModelForm<IdentificationStage, stri
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
isUserFieldSelected(field: IdentificationStageUserFieldsEnum): boolean {
|
isUserFieldSelected(field: UserFieldsEnum): boolean {
|
||||||
return (this.instance?.userFields || []).filter(isField => {
|
return (this.instance?.userFields || []).filter(isField => {
|
||||||
return field === isField;
|
return field === isField;
|
||||||
}).length > 0;
|
}).length > 0;
|
||||||
|
@ -66,10 +66,10 @@ export class IdentificationStageForm extends ModelForm<IdentificationStage, stri
|
||||||
label=${t`User fields`}
|
label=${t`User fields`}
|
||||||
name="userFields">
|
name="userFields">
|
||||||
<select name="users" class="pf-c-form-control" multiple>
|
<select name="users" class="pf-c-form-control" multiple>
|
||||||
<option value=${IdentificationStageUserFieldsEnum.Username} ?selected=${this.isUserFieldSelected(IdentificationStageUserFieldsEnum.Username)}>
|
<option value=${UserFieldsEnum.Username} ?selected=${this.isUserFieldSelected(UserFieldsEnum.Username)}>
|
||||||
${t`Username`}
|
${t`Username`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${IdentificationStageUserFieldsEnum.Email} ?selected=${this.isUserFieldSelected(IdentificationStageUserFieldsEnum.Email)}>
|
<option value=${UserFieldsEnum.Email} ?selected=${this.isUserFieldSelected(UserFieldsEnum.Email)}>
|
||||||
${t`Email`}
|
${t`Email`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { FlowDesignationEnum, FlowsApi, PasswordStage, PasswordStageBackendsEnum, StagesApi } from "authentik-api";
|
import { FlowDesignationEnum, FlowsApi, PasswordStage, BackendsEnum, StagesApi } from "authentik-api";
|
||||||
import { t } from "@lingui/macro";
|
import { t } from "@lingui/macro";
|
||||||
import { customElement } from "lit-element";
|
import { customElement } from "lit-element";
|
||||||
import { html, TemplateResult } from "lit-html";
|
import { html, TemplateResult } from "lit-html";
|
||||||
|
@ -40,7 +40,7 @@ export class PasswordStageForm extends ModelForm<PasswordStage, string> {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
isBackendSelected(field: PasswordStageBackendsEnum): boolean {
|
isBackendSelected(field: BackendsEnum): boolean {
|
||||||
return (this.instance?.backends || []).filter(isField => {
|
return (this.instance?.backends || []).filter(isField => {
|
||||||
return field === isField;
|
return field === isField;
|
||||||
}).length > 0;
|
}).length > 0;
|
||||||
|
@ -67,10 +67,10 @@ export class PasswordStageForm extends ModelForm<PasswordStage, string> {
|
||||||
?required=${true}
|
?required=${true}
|
||||||
name="backends">
|
name="backends">
|
||||||
<select name="users" class="pf-c-form-control" multiple>
|
<select name="users" class="pf-c-form-control" multiple>
|
||||||
<option value=${PasswordStageBackendsEnum.DjangoContribAuthBackendsModelBackend} ?selected=${this.isBackendSelected(PasswordStageBackendsEnum.DjangoContribAuthBackendsModelBackend)}>
|
<option value=${BackendsEnum.DjangoContribAuthBackendsModelBackend} ?selected=${this.isBackendSelected(BackendsEnum.DjangoContribAuthBackendsModelBackend)}>
|
||||||
${t`authentik Builtin Database`}
|
${t`authentik Builtin Database`}
|
||||||
</option>
|
</option>
|
||||||
<option value=${PasswordStageBackendsEnum.AuthentikSourcesLdapAuthLdapBackend} ?selected=${this.isBackendSelected(PasswordStageBackendsEnum.AuthentikSourcesLdapAuthLdapBackend)}>
|
<option value=${BackendsEnum.AuthentikSourcesLdapAuthLdapBackend} ?selected=${this.isBackendSelected(BackendsEnum.AuthentikSourcesLdapAuthLdapBackend)}>
|
||||||
${t`authentik LDAP Backend`}
|
${t`authentik LDAP Backend`}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -7,7 +7,7 @@ import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList
|
||||||
import "../../elements/buttons/SpinnerButton";
|
import "../../elements/buttons/SpinnerButton";
|
||||||
import "../../elements/buttons/ActionButton";
|
import "../../elements/buttons/ActionButton";
|
||||||
import { TableColumn } from "../../elements/table/Table";
|
import { TableColumn } from "../../elements/table/Table";
|
||||||
import { AdminApi, Task, TaskStatusEnum } from "authentik-api";
|
import { AdminApi, Task, StatusEnum } from "authentik-api";
|
||||||
import { DEFAULT_CONFIG } from "../../api/Config";
|
import { DEFAULT_CONFIG } from "../../api/Config";
|
||||||
import { PFColor } from "../../elements/Label";
|
import { PFColor } from "../../elements/Label";
|
||||||
|
|
||||||
|
@ -62,11 +62,11 @@ export class SystemTaskListPage extends TablePage<Task> {
|
||||||
|
|
||||||
taskStatus(task: Task): TemplateResult {
|
taskStatus(task: Task): TemplateResult {
|
||||||
switch (task.status) {
|
switch (task.status) {
|
||||||
case TaskStatusEnum.Successful:
|
case StatusEnum.Successful:
|
||||||
return html`<ak-label color=${PFColor.Green} text=${t`Successful`}></ak-label>`;
|
return html`<ak-label color=${PFColor.Green} text=${t`Successful`}></ak-label>`;
|
||||||
case TaskStatusEnum.Warning:
|
case StatusEnum.Warning:
|
||||||
return html`<ak-label color=${PFColor.Orange} text=${t`Warning`}></ak-label>`;
|
return html`<ak-label color=${PFColor.Orange} text=${t`Warning`}></ak-label>`;
|
||||||
case TaskStatusEnum.Error:
|
case StatusEnum.Error:
|
||||||
return html`<ak-label color=${PFColor.Red} text=${t`Error`}></ak-label>`;
|
return html`<ak-label color=${PFColor.Red} text=${t`Error`}></ak-label>`;
|
||||||
default:
|
default:
|
||||||
return html`<ak-label color=${PFColor.Grey} text=${t`Unknown`}></ak-label>`;
|
return html`<ak-label color=${PFColor.Grey} text=${t`Unknown`}></ak-label>`;
|
||||||
|
|
Reference in a new issue