@@ -32,6 +32,15 @@ export function findEmbeddedIframe(): Window | null {
3232 return null ;
3333}
3434
35+ function getHostOrigin ( ) : string {
36+ const params = new URLSearchParams ( window . location . search ) ;
37+ const hostOrigin = params . get ( "host_origin" ) ;
38+ if ( hostOrigin ) {
39+ return hostOrigin ;
40+ }
41+ return window . location . origin ;
42+ }
43+
3544export function sendReauthParamsToIframe (
3645 iframe : Window ,
3746 params : { nonce ?: string ; code_verifier ?: string } ,
@@ -55,7 +64,7 @@ function buildGoogleOAuthUrl(nonce: string): string {
5564
5665 const oauthState : OAuthState = {
5766 apiKey : "export_key_reauth" ,
58- targetOrigin : window . location . origin ,
67+ targetOrigin : getHostOrigin ( ) ,
5968 provider : "google" ,
6069 } ;
6170
@@ -76,7 +85,7 @@ function buildXOAuthUrl(codeChallenge: string): string {
7685
7786 const oauthState : OAuthState = {
7887 apiKey : "export_key_reauth" ,
79- targetOrigin : window . location . origin ,
88+ targetOrigin : getHostOrigin ( ) ,
8089 provider : "x" ,
8190 } ;
8291 const oauthStateString = btoa ( JSON . stringify ( oauthState ) ) ;
@@ -98,7 +107,7 @@ function buildDiscordOAuthUrl(codeChallenge: string): string {
98107
99108 const oauthState : OAuthState = {
100109 apiKey : "export_key_reauth" ,
101- targetOrigin : window . location . origin ,
110+ targetOrigin : getHostOrigin ( ) ,
102111 provider : "discord" ,
103112 } ;
104113 const oauthStateString = btoa ( JSON . stringify ( oauthState ) ) ;
@@ -120,7 +129,7 @@ function buildGithubOAuthUrl(codeChallenge: string): string {
120129
121130 const oauthState : OAuthState = {
122131 apiKey : "export_key_reauth" ,
123- targetOrigin : window . location . origin ,
132+ targetOrigin : getHostOrigin ( ) ,
124133 provider : "github" ,
125134 } ;
126135 const oauthStateString = btoa ( JSON . stringify ( oauthState ) ) ;
0 commit comments