Improve Element Desktop OIDC Native dynamic registration
To strip the element-desktop-ssoid param from the redirectUri Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
parent
f8a2e41df3
commit
16f197eda8
1 changed files with 4 additions and 1 deletions
|
@ -377,7 +377,7 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
return this.ipc.call("getAvailableSpellCheckLanguages");
|
return this.ipc.call("getAvailableSpellCheckLanguages");
|
||||||
}
|
}
|
||||||
|
|
||||||
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(SSO_ID_KEY, this.ssoID);
|
url.searchParams.set(SSO_ID_KEY, this.ssoID);
|
||||||
|
@ -446,9 +446,12 @@ 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();
|
||||||
|
redirectUri.searchParams.delete(SSO_ID_KEY); // it will be shuttled via the state param instead
|
||||||
return {
|
return {
|
||||||
...baseMetadata,
|
...baseMetadata,
|
||||||
applicationType: "native",
|
applicationType: "native",
|
||||||
|
redirectUris: [redirectUri.href],
|
||||||
// XXX: This should be overridable in config
|
// XXX: This should be overridable in config
|
||||||
clientUri: "https://element.io",
|
clientUri: "https://element.io",
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue