import { CryptoApi, FlowDesignationEnum, FlowsApi, SAMLProvider, ProvidersApi, PropertymappingsApi, SAMLProviderSpBindingEnum, SAMLProviderDigestAlgorithmEnum, SAMLProviderSignatureAlgorithmEnum } from "authentik-api"; import { gettext } from "django"; import { customElement, property } from "lit-element"; import { html, TemplateResult } from "lit-html"; import { DEFAULT_CONFIG } from "../../../api/Config"; import { Form } from "../../../elements/forms/Form"; import { until } from "lit-html/directives/until"; import { ifDefined } from "lit-html/directives/if-defined"; import "../../../elements/forms/HorizontalFormElement"; @customElement("ak-provider-saml-form") export class SAMLProviderFormPage extends Form { set providerUUID(value: number) { new ProvidersApi(DEFAULT_CONFIG).providersSamlRead({ id: value, }).then(provider => { this.provider = provider; }); } @property({attribute: false}) provider?: SAMLProvider; getSuccessMessage(): string { if (this.provider) { return gettext("Successfully updated provider."); } else { return gettext("Successfully created provider."); } } send = (data: SAMLProvider): Promise => { if (this.provider) { return new ProvidersApi(DEFAULT_CONFIG).providersSamlUpdate({ id: this.provider.pk || 0, data: data }); } else { return new ProvidersApi(DEFAULT_CONFIG).providersSamlCreate({ data: data }); } }; renderForm(): TemplateResult { return html`

${gettext("Flow used when authorizing this provider.")}

${gettext("Determines how authentik sends the response back to the Service Provider.")}

${gettext("Keypair used to sign outgoing Responses going to the Service Provider.")}

${gettext("When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default.")}

${gettext("Hold control/command to select multiple items.")}

${gettext("Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be respected.")}

${gettext("Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3).")}

${gettext("Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3).")}

${gettext("Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3).")}

`; } }