Fix `element-desktop-ssoid being` included in OIDC Authorization call

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
pull/27431/head
Michael Telatynski 2024-05-03 12:47:40 +01:00
parent 2c8b32d2c9
commit b82100ede8
No known key found for this signature in database
GPG Key ID: A2B008A5F49F5D0D
1 changed files with 6 additions and 5 deletions

View File

@ -377,10 +377,12 @@ export default class ElectronPlatform extends VectorBasePlatform {
return this.ipc.call("getAvailableSpellCheckLanguages"); return this.ipc.call("getAvailableSpellCheckLanguages");
} }
public getSSOCallbackUrl(fragmentAfterLogin?: string): URL { public getSSOCallbackUrl(forOidc = false, fragmentAfterLogin?: string): URL {
const url = super.getSSOCallbackUrl(fragmentAfterLogin); const url = super.getSSOCallbackUrl(forOidc, fragmentAfterLogin);
url.protocol = "element"; url.protocol = "element";
if (!forOidc) {
url.searchParams.set(SSO_ID_KEY, this.ssoID); url.searchParams.set(SSO_ID_KEY, this.ssoID);
}
return url; return url;
} }
@ -446,8 +448,7 @@ export default class ElectronPlatform extends VectorBasePlatform {
public async getOidcClientMetadata(): Promise<OidcRegistrationClientMetadata> { public async getOidcClientMetadata(): Promise<OidcRegistrationClientMetadata> {
const baseMetadata = await super.getOidcClientMetadata(); const baseMetadata = await super.getOidcClientMetadata();
const redirectUri = this.getSSOCallbackUrl(); const redirectUri = this.getSSOCallbackUrl(true);
redirectUri.searchParams.delete(SSO_ID_KEY); // it will be shuttled via the state param instead
return { return {
...baseMetadata, ...baseMetadata,
applicationType: "native", applicationType: "native",