Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add setDomStorageEnabled(true) for popup WebView, some OAuth pages rely on it #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

vladimir-vladykin
Copy link

Hello.
We use connect-android-sdk v1.0.4, which is latest officially published version.

We have an issue with Citibank OAuth page, it doesn't rendered correctly. Users see empty screen instead of login page.

It's possible to replicate issue using demo-app from this repository, if you'll generate link to Citibank OAuth (institutionId = 170881).
NOTE: because master branch contains some commits after v.1.0.4, I've had to checkout to tag of latest release, because this corresponds to SDK version we use. Videos below are recorded using demo-app with connect-sdk 1.0.4.
git checkout v1.0.4

Here's video of what happening when you try to open Citibank OAuth page : https://drive.google.com/file/d/1tmcg2gweyzc6QFxfCEbq0QGgdVJTi_N7/view?usp=sharing

We assume that Citibank OAuth page is relying on Web Storage API (see extra info about API here).

Support of this API is disabled by default in WebView.

And here's what happening when you add getSettings().setDomStorageEnabled(true) for popup WebView (which is responsible for rendering of OAuth pages):
https://drive.google.com/file/d/1j8VWMcSbChTn9lJNVBwB15PZqOmE9hYM/view?usp=sharing
Citibank OAuth login page is displayed successfully.

This pull request adds call of setDomStorageEnabled(true) in order to fix issue with rendering of Citibank page.
As far as we can see, no issues is introduced by this change, OAuth pages of other banks are displayed correctly.

NOTE: do not try to reproduce this issue using latest code from master branch, because latest code is using Chrome CustomTabs to render OAuth pages. And this issue is not reproduced on Chrome, probably its supports WebStorage API by default.
Using Custom Tabs is great idea, but I believe such migration would require some extra testing of new implementation (and that's probably why it is still not released).

So it would be perfect, if you publish new version of connect-android-sdk with just this particular fix.
For instance v1.0.5, which adds on top of v.1.0.4 just this commit.

Thanks.

@linzera
Copy link

linzera commented Nov 18, 2022

Nice work!

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