Skip to content

Commit

Permalink
Merge pull request #28096 from element-hq/t3chguy/fix/d1889
Browse files Browse the repository at this point in the history
Update native OIDC callback url to be RFC8252 compliant
  • Loading branch information
t3chguy authored Sep 25, 2024
2 parents 11d70fe + 994fcd6 commit 861ac3b
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/vector/platform/ElectronPlatform.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,12 @@ export default class ElectronPlatform extends VectorBasePlatform {
public getOidcCallbackUrl(): URL {
const url = super.getOidcCallbackUrl();
url.protocol = "io.element.desktop";
// Trim the double slash into a single slash to comply with https://datatracker.ietf.org/doc/html/rfc8252#section-7.1
// Chrome seems to have a strange issue where non-standard protocols prevent URL object mutations on pathname
// field, so we cannot mutate `pathname` reliably and instead have to rewrite the href manually.
if (url.pathname.startsWith("//")) {
url.href = url.href.replace(url.pathname, url.pathname.slice(1));
}
return url;
}
}

0 comments on commit 861ac3b

Please sign in to comment.