Skip to content

Conversation

@joe-p
Copy link

@joe-p joe-p commented Jan 13, 2022

This PR adds an additional option to the MyAlgoConnect constructor that allows an iframe to optionally be defined for rendering the "popups" in.

I understand browsers are moving in a direction that would make this unusable due to cross-origin security/privacy features, but using an iframe is necessary in some edge cases, such as an environment where popups are strictly forbidden (for example, Chrome Embedded Framework applications).

This is an optional feature with minimal changes to the code-base. Functionality was tested for all three popups and they all work as one would expect.

@nkbt
Copy link

nkbt commented Feb 6, 2022

Few major browsers now default to blocking 3rd party cookies, so authorising through wallet.myalgo.com (that is relying on setting auth cookies) won't be reflected on the iframe content and it will be always like we don't have MyAlgo wallet set up like this no matter what:

Chrome and chromium-based browsers are working fine (Chrome/Opera on windows or mac, Chrome on android), though chrome is planned to get 3rd party cookies disabled somewhere in 2022, so it is not going to last long.

Safari, Brave on desktop and any browser on iOS (as they are all Safari-based, no matter the "frontend") - NOT working.

Temporary workaround would be to check if 3rd party cookies are allowed at all and then show either popup or iframe.

And much better solution would be to use some kind of oauth or https://webkit.org/blog/8124/introducing-storage-access-api

(PS: I have build my own minimalistic implementation of myalgo connect from scratch that is fully iframe-based)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants