use wildcard for sending messages (#2188)

Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
This commit is contained in:
Mikhail Mikheev 2021-04-27 16:16:12 +04:00 committed by GitHub
parent d3a98364fd
commit b553186283
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -33,10 +33,9 @@ class AppCommunicator {
private isValidMessage = (msg: SDKMessageEvent): boolean => { private isValidMessage = (msg: SDKMessageEvent): boolean => {
// @ts-expect-error .parent doesn't exist on some possible types // @ts-expect-error .parent doesn't exist on some possible types
const sentFromIframe = msg.source.parent === window.parent const sentFromIframe = msg.source.parent === window.parent
const knownOrigin = this.app.url.includes(msg.origin)
const knownMethod = Object.values(METHODS).includes(msg.data.method) const knownMethod = Object.values(METHODS).includes(msg.data.method)
return knownOrigin && sentFromIframe && knownMethod return sentFromIframe && knownMethod
} }
private canHandleMessage = (msg: SDKMessageEvent): boolean => { private canHandleMessage = (msg: SDKMessageEvent): boolean => {
@ -49,7 +48,7 @@ class AppCommunicator {
? MessageFormatter.makeErrorResponse(requestId, data, sdkVersion) ? MessageFormatter.makeErrorResponse(requestId, data, sdkVersion)
: MessageFormatter.makeResponse(requestId, data, sdkVersion) : MessageFormatter.makeResponse(requestId, data, sdkVersion)
this.iframeRef.current?.contentWindow?.postMessage(msg, this.app.url) this.iframeRef.current?.contentWindow?.postMessage(msg, '*')
} }
handleIncomingMessage = async (msg: SDKMessageEvent): Promise<void> => { handleIncomingMessage = async (msg: SDKMessageEvent): Promise<void> => {