File tree Expand file tree Collapse file tree 2 files changed +30
-2
lines changed
apps/extension/src/sandbox
packages/features/src/web-connector/routes Expand file tree Collapse file tree 2 files changed +30
-2
lines changed Original file line number Diff line number Diff line change @@ -47,11 +47,35 @@ let presentationSignaturePromise: {
4747 reject : ( reason : any ) => void
4848} | null = null
4949
50+ let allowedOrigin : string | null = null
51+
5052window . addEventListener ( "message" , async ( event ) => {
51- const allowedOrigin = "chrome-extension://bboennpbcdmjdgmbggdlemijpijnaflh"
53+ if ( event . data . type === "init" ) {
54+ allowedOrigin = `chrome-extension://${ event . data . extensionId } `
55+ return
56+ }
57+
58+ if ( ! allowedOrigin ) {
59+ window . parent . postMessage (
60+ {
61+ type : `${ event . data ?. contract } -result` ,
62+ error : "allowedOrigin is not set" ,
63+ } ,
64+ "*" ,
65+ )
66+ return
67+ }
5268 if ( event . origin !== allowedOrigin ) {
53- throw new Error ( "Invalid origin" )
69+ window . parent . postMessage (
70+ {
71+ type : `${ event . data ?. contract } -result` ,
72+ error : `Invalid origin: ${ event . origin } ` ,
73+ } ,
74+ "*" ,
75+ )
76+ return
5477 }
78+
5579 const message = MessageSchema . parse ( event . data )
5680
5781 if ( message . type === "presentation-signature" ) {
Original file line number Diff line number Diff line change @@ -228,6 +228,10 @@ export const WebConnectorRoute = () => {
228228 inputType : message . params . inputType ,
229229 emitConnected : message . params . emitConnected ,
230230 } )
231+ sendSandboxMessage ( {
232+ type : "init" ,
233+ extensionId : chrome . runtime . id ,
234+ } )
231235 setLoading ( false )
232236 setLoadingMessage ( undefined )
233237 }
You can’t perform that action at this time.
0 commit comments