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:
@@ -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",
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user