From aa5024adae13d856764f1c7af87340f336b92374 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 15 Feb 2024 17:36:27 +0000 Subject: [PATCH] Fix Native OIDC for Element Desktop by including ssoid in the url_state of the /auth call Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/vector/platform/ElectronPlatform.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/vector/platform/ElectronPlatform.tsx b/src/vector/platform/ElectronPlatform.tsx index 8fb45f85dc..fa776c4ccb 100644 --- a/src/vector/platform/ElectronPlatform.tsx +++ b/src/vector/platform/ElectronPlatform.tsx @@ -57,6 +57,8 @@ interface SquirrelUpdate { updateURL: string; } +const SSO_ID_KEY = "element-desktop-ssoid"; + const isMac = navigator.platform.toUpperCase().includes("MAC"); function platformFriendlyName(): string { @@ -378,7 +380,7 @@ export default class ElectronPlatform extends VectorBasePlatform { public getSSOCallbackUrl(fragmentAfterLogin: string): URL { const url = super.getSSOCallbackUrl(fragmentAfterLogin); url.protocol = "element"; - url.searchParams.set("element-desktop-ssoid", this.ssoID); + url.searchParams.set(SSO_ID_KEY, this.ssoID); return url; } @@ -451,4 +453,8 @@ export default class ElectronPlatform extends VectorBasePlatform { clientUri: "https://element.io", }; } + + public getOidcClientState(): string { + return `:${SSO_ID_KEY}:${this.ssoID}`; + } }