Fix Electron SSO handling to support multiple profiles

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2020-04-04 00:22:15 +01:00
parent a377ca7b85
commit 8ca9e4ccb1
2 changed files with 21 additions and 1 deletions

View file

@ -228,6 +228,11 @@ export default class ElectronPlatform extends VectorBasePlatform {
description: _td("Open user settings"),
});
}
// we assume this happens before any SSO actions occur but do not block.
this._ipcCall('getUserDataPath').then(userDataPath => {
this.userDataPath = userDataPath;
});
}
async getConfig(): Promise<{}> {
@ -424,6 +429,9 @@ export default class ElectronPlatform extends VectorBasePlatform {
getSSOCallbackUrl(hsUrl: string, isUrl: string): URL {
const url = super.getSSOCallbackUrl(hsUrl, isUrl);
url.protocol = "riot";
if (this.userDataPath) {
url.searchParams.set("riot-desktop-user-data-path", this.userDataPath);
}
return url;
}