diff --git a/web/src/admin/applications/wizard/methods/ldap/ak-application-wizard-authentication-by-ldap.ts b/web/src/admin/applications/wizard/methods/ldap/ak-application-wizard-authentication-by-ldap.ts index c34f797684..75b392f714 100644 --- a/web/src/admin/applications/wizard/methods/ldap/ak-application-wizard-authentication-by-ldap.ts +++ b/web/src/admin/applications/wizard/methods/ldap/ak-application-wizard-authentication-by-ldap.ts @@ -62,6 +62,19 @@ export class ApplicationWizardApplicationDetails extends WithBrandConfig(BasePro ${msg("Flow used for users to authenticate.")}

+ + +

${msg("Flow used for unbinding users.")}

+
- - -

- ${msg("Flow used when logging out of this provider.")} -

-
${msg("Protocol settings")} @@ -128,8 +113,9 @@ export class ApplicationWizardAuthenticationByOauth extends BaseProviderPanel { @@ -162,6 +148,39 @@ export class ApplicationWizardAuthenticationByOauth extends BaseProviderPanel { + + ${msg("Advanced flow settings")} + + +

+ ${msg( + "Flow used when a user access this provider and is not authenticated.", + )} +

+
+ + +

+ ${msg("Flow used when logging out of this provider.")} +

+
+ +
${msg("Advanced protocol settings")}
diff --git a/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts b/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts index 4ac7d01cb5..e6d66aea6f 100644 --- a/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts +++ b/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts @@ -119,21 +119,6 @@ export class AkTypeProxyApplicationWizardPage extends BaseProviderPanel { ${msg("Flow used when authorizing this provider.")}

- - -

- ${msg("Flow used when logging out of this provider.")} -

-
${this.renderProxyMode()} @@ -176,9 +161,11 @@ export class AkTypeProxyApplicationWizardPage extends BaseProviderPanel { @@ -195,6 +182,39 @@ export class AkTypeProxyApplicationWizardPage extends BaseProviderPanel {
+ + ${msg("Advanced flow settings")} + + +

+ ${msg( + "Flow used when a user access this provider and is not authenticated.", + )} +

+
+ + +

+ ${msg("Flow used when logging out of this provider.")} +

+
+ +
${msg("Authentication settings")}
diff --git a/web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-configuration.ts b/web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-configuration.ts index 844024f20f..61c1f6403d 100644 --- a/web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-configuration.ts +++ b/web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-configuration.ts @@ -103,21 +103,6 @@ export class ApplicationWizardProviderSamlConfiguration extends BaseProviderPane ${msg("Flow used when authorizing this provider.")}

- - -

- ${msg("Flow used when logging out of this provider.")} -

-
${msg("Protocol settings")} @@ -160,6 +145,39 @@ export class ApplicationWizardProviderSamlConfiguration extends BaseProviderPane
+ + ${msg("Advanced flow settings")} + + +

+ ${msg( + "Flow used when a user access this provider and is not authenticated.", + )} +

+
+ + +

+ ${msg("Flow used when logging out of this provider.")} +

+
+ +
${msg("Advanced protocol settings")}
@@ -181,52 +199,60 @@ export class ApplicationWizardProviderSamlConfiguration extends BaseProviderPane )}

- ${this.hasSigningKp - ? html` - -

- ${msg( - "When enabled, the assertion element of the SAML response will be signed.", - )} -

-
- - +

+ ${msg( + "When enabled, the assertion element of the SAML response will be signed.", + )} +

+
+ + -

- ${msg( - "When enabled, the assertion element of the SAML response will be signed.", - )} -

-
` - : nothing} + ${msg("Sign responses")} + +

+ ${msg( + "When enabled, the assertion element of the SAML response will be signed.", + )} +

+ ` + : nothing + } extends CustomListenerElement(AKElement) @query("ak-search-select") search!: SearchSelect; + /** + * When specified and the object instance does not have a flow selected, auto-select the flow with the given slug. + * + * @attr + */ + @property() + defaultFlowSlug?: string; + @property({ type: String }) name: string | null | undefined; @@ -96,9 +104,12 @@ export class FlowSearch extends CustomListenerElement(AKElement) * use this method, but several have more complex needs, such as relating to the brand, or just * returning false. */ - selected(flow: Flow): boolean { - return this.currentFlow === flow.pk; + let selected = this.currentFlow === flow.pk; + if (!this.currentFlow && this.defaultFlowSlug && flow.slug === this.defaultFlowSlug) { + selected = true; + } + return selected; } connectedCallback() { diff --git a/web/src/admin/providers/ldap/LDAPProviderForm.ts b/web/src/admin/providers/ldap/LDAPProviderForm.ts index 3d81f23076..18700e92db 100644 --- a/web/src/admin/providers/ldap/LDAPProviderForm.ts +++ b/web/src/admin/providers/ldap/LDAPProviderForm.ts @@ -130,7 +130,7 @@ export class LDAPProviderFormPage extends WithBrandConfig(BaseProviderForm - + ${msg("Flow settings")}
- + >

${msg("Flow used for unbinding users.")}

diff --git a/web/src/admin/providers/oauth2/OAuth2ProviderForm.ts b/web/src/admin/providers/oauth2/OAuth2ProviderForm.ts index cbf629bd36..dd4d8b2a55 100644 --- a/web/src/admin/providers/oauth2/OAuth2ProviderForm.ts +++ b/web/src/admin/providers/oauth2/OAuth2ProviderForm.ts @@ -155,6 +155,20 @@ export class OAuth2ProviderFormPage extends BaseProviderForm { required > + + +

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

+
${msg("Protocol settings")}
@@ -218,7 +232,7 @@ export class OAuth2ProviderFormPage extends BaseProviderForm { - ${msg("Flow settings")} + ${msg("Advanced flow settings")}
{ )}

- - -

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

-
{

diff --git a/web/src/admin/providers/proxy/ProxyProviderForm.ts b/web/src/admin/providers/proxy/ProxyProviderForm.ts index 48ecc5e30a..86c34969f1 100644 --- a/web/src/admin/providers/proxy/ProxyProviderForm.ts +++ b/web/src/admin/providers/proxy/ProxyProviderForm.ts @@ -258,6 +258,20 @@ export class ProxyProviderFormPage extends BaseProviderForm { required /> + + +

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

+
${this.renderModeSelector()}
@@ -394,7 +408,7 @@ ${this.instance?.skipPathRegex} - ${msg("Flow settings")} + ${msg("Advanced flow settings")}
- - -

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

-

diff --git a/web/src/admin/providers/saml/SAMLProviderForm.ts b/web/src/admin/providers/saml/SAMLProviderForm.ts index ae18f67200..ef35d2960b 100644 --- a/web/src/admin/providers/saml/SAMLProviderForm.ts +++ b/web/src/admin/providers/saml/SAMLProviderForm.ts @@ -89,6 +89,20 @@ export class SAMLProviderFormPage extends BaseProviderForm { required /> + + +

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

+
${msg("Protocol settings")} @@ -155,7 +169,7 @@ export class SAMLProviderFormPage extends BaseProviderForm { - ${msg("Flow settings")} + ${msg("Advanced flow settings")}
{ )}

- - -

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

-
{

diff --git a/web/src/admin/providers/saml/SAMLProviderImportForm.ts b/web/src/admin/providers/saml/SAMLProviderImportForm.ts index 98b7c3409c..3241e24b66 100644 --- a/web/src/admin/providers/saml/SAMLProviderImportForm.ts +++ b/web/src/admin/providers/saml/SAMLProviderImportForm.ts @@ -54,6 +54,7 @@ export class SAMLProviderImportForm extends Form { >

diff --git a/web/src/flow/stages/RedirectStage.ts b/web/src/flow/stages/RedirectStage.ts index f2abe52c72..1ab048616c 100644 --- a/web/src/flow/stages/RedirectStage.ts +++ b/web/src/flow/stages/RedirectStage.ts @@ -43,8 +43,17 @@ export class RedirectStage extends BaseStage { + if (ev.key === "Enter") { + this.redirect(); + } + }); return; } + this.redirect(); + } + + redirect() { console.debug( "authentik/stages/redirect: redirecting to url from server", this.challenge.to,