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>pull/27017/head
parent
c19737b387
commit
aa5024adae
|
@ -57,6 +57,8 @@ interface SquirrelUpdate {
|
||||||
updateURL: string;
|
updateURL: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const SSO_ID_KEY = "element-desktop-ssoid";
|
||||||
|
|
||||||
const isMac = navigator.platform.toUpperCase().includes("MAC");
|
const isMac = navigator.platform.toUpperCase().includes("MAC");
|
||||||
|
|
||||||
function platformFriendlyName(): string {
|
function platformFriendlyName(): string {
|
||||||
|
@ -378,7 +380,7 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
public getSSOCallbackUrl(fragmentAfterLogin: string): URL {
|
public getSSOCallbackUrl(fragmentAfterLogin: string): URL {
|
||||||
const url = super.getSSOCallbackUrl(fragmentAfterLogin);
|
const url = super.getSSOCallbackUrl(fragmentAfterLogin);
|
||||||
url.protocol = "element";
|
url.protocol = "element";
|
||||||
url.searchParams.set("element-desktop-ssoid", this.ssoID);
|
url.searchParams.set(SSO_ID_KEY, this.ssoID);
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -451,4 +453,8 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
clientUri: "https://element.io",
|
clientUri: "https://element.io",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public getOidcClientState(): string {
|
||||||
|
return `:${SSO_ID_KEY}:${this.ssoID}`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue