Merge pull request #27431 from element-hq/t3chguy/fix-oidc-native-electron
Fix `element-desktop-ssoid being` included in OIDC Authorization call
This commit is contained in:
commit
f43bb0a9f7
1 changed files with 9 additions and 3 deletions
|
@ -446,12 +446,9 @@ 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",
|
||||||
};
|
};
|
||||||
|
@ -460,4 +457,13 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
public getOidcClientState(): string {
|
public getOidcClientState(): string {
|
||||||
return `:${SSO_ID_KEY}:${this.ssoID}`;
|
return `:${SSO_ID_KEY}:${this.ssoID}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The URL to return to after a successful OIDC authentication
|
||||||
|
*/
|
||||||
|
public getOidcCallbackUrl(): URL {
|
||||||
|
const url = super.getOidcCallbackUrl();
|
||||||
|
url.protocol = "io.element.desktop";
|
||||||
|
return url;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue