Skip to content

Commit 8788513

Browse files
committed
fix: allowedOrigin value in sandbox
1 parent 0884785 commit 8788513

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

apps/extension/src/sandbox/index.ts

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,35 @@ let presentationSignaturePromise: {
4747
reject: (reason: any) => void
4848
} | null = null
4949

50+
let allowedOrigin: string | null = null
51+
5052
window.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") {

packages/features/src/web-connector/routes/web-connector.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)