From 62e522fae2f43c310b38201e0f66ffe4ad0cbf11 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 30 May 2023 10:17:44 +0200 Subject: [PATCH] add a check to each auth context to mark if it supports persisting the login --- .../apps/auth/src/auth-legacy.context.ts | 1 + src/Umbraco.Web.UI.Client/apps/auth/src/auth.context.ts | 1 + src/Umbraco.Web.UI.Client/apps/auth/src/login.element.ts | 8 +++++--- src/Umbraco.Web.UI.Client/apps/auth/src/types.ts | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/auth-legacy.context.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/auth-legacy.context.ts index b9d3a0b1cd..42b0679aab 100644 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/auth-legacy.context.ts +++ b/src/Umbraco.Web.UI.Client/apps/auth/src/auth-legacy.context.ts @@ -2,6 +2,7 @@ import { LoginRequestModel, IUmbAuthContext, LoginResponse } from './types.js'; export class UmbAuthLegacyContext implements IUmbAuthContext { readonly #AUTH_URL = '/umbraco/backoffice/umbracoapi/authentication/postlogin'; + readonly supportsPersistLogin = true; login(data: LoginRequestModel): Promise { throw new Error('Method not implemented.'); diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/auth.context.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/auth.context.ts index 2048cdf863..c38afcb618 100644 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/auth.context.ts +++ b/src/Umbraco.Web.UI.Client/apps/auth/src/auth.context.ts @@ -3,6 +3,7 @@ import { LoginRequestModel, IUmbAuthContext } from './types.js'; export class UmbAuthContext implements IUmbAuthContext { readonly #AUTH_URL = '/umbraco/management/api/v1/security/back-office'; + readonly supportsPersistLogin = false; #authRepository = new UmbAuthRepository(this.#AUTH_URL); diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/login.element.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/login.element.ts index 57ae36f50b..20bf03b421 100644 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/login.element.ts +++ b/src/Umbraco.Web.UI.Client/apps/auth/src/login.element.ts @@ -105,9 +105,11 @@ export default class UmbLoginElement extends LitElement { required-message="Password is required"> - - Remember me - + ${this.#authContext.supportsPersistLogin + ? html` + Remember me + ` + : nothing} ${this.#renderErrorMessage()} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/types.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/types.ts index aa6fdb629e..114c515c5d 100644 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/types.ts +++ b/src/Umbraco.Web.UI.Client/apps/auth/src/types.ts @@ -6,6 +6,7 @@ export type LoginRequestModel = { export interface IUmbAuthContext { login(data: LoginRequestModel): Promise; + supportsPersistLogin: boolean; } export type LoginResponse = {