-
Notifications
You must be signed in to change notification settings - Fork 92
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
ShadowDom and Password managers #22
Comments
Okay. A few points:
|
@NkxxkN I had a discussion about this with Advait and he is of the opinion that the lack of a password manager not recognising is very obvious. So we should document this. @makerboiAdi also suggested that we can have some indication of this in the demo app: In order to do the above though, we will have to maintain two repos of the demo app - one for the actual site that will have the above info, and one for as a sample repo for people to see while coding as a guide. Not sure if it's worth it as of yet. I am reopening this issue for discussion |
Documentation for shadowDom option:I agree it is important and should be documented somehow.
It's not really "Google" or "Google Chrome". Shadow dom is preventing the rendering of password managers such as:
I don't think we should have two repos. See https://github.com/supertokens/supertokens-auth-react/blob/master/test/react-test-app/src/App.js#L16 how the dark theme can be switch on. Why are we trying to hide the documentation in the demo app though? I think this is a real subject and this could benefit from a proper section in the detailed guide in my opinion. Pull request adding autocomplete password suggestion:In current version we do not have Browser autosuggest setup correctly: it didn't include new password suggestion. State of the art for password auto complete:TL;DR:
ResearchBrowser researched: Chrome / Firefox / Safari / Opera ResultsIn the results displayed below, I never managed to get the Chrome autosuggest password to work though I'm pretty sure that I've seen it before. If you find a way to make it work, or see something that I've done wrong please let me know so I can complete. Firefox:
Chrome:
Safari:
Opera:
Examples of good use cases:**Autosuggest on Firefox (Shadow dom or not) Lastpass on Chrome with error fields Firefox Email Password suggestion Password Managers inconsistencies:Password managers have different ways to display their UI in form fields, making it a case by case issue if we want to make sure there are no conflict with error fields / password managers UI. (Unless we come up with a UI that is keeping the right side of the inputs for password managers and not insert input success/error icons).
Dashlane seems to be aware of this issue and tries to solve it by moving their icon themselves... with limited results.... |
Thanks. Will discuss this over a call in detail |
TODO:
|
Autocomplete for extensions such as 1Password, Dashlane and Lastpass does not work within shadow dom:
Without shadow dom:
With shadow dom
It only works when shadow dom is disabled. This is not an issue related to us directly as stated in https://1password.community/discussion/79137/shadow-dom-polymer-forms-do-not-fill-companion-extension-v4-7-4-now-supports-shadow-doms
Basically 1Password does a
querySelectorAll
which won't work with shadow Dom. That is their responsibility to catch shadow root dom component in the future with their extensions. It seems pretty straightforward and I don't understand why they haven't done such a thing yet (maybe not a top priority for them).I think it's pretty important for us as an open source authentication solution to support password managers.
We can't provide support for password managers while shadow root is enabled at the moment. Password manager providers do not seem to be actively working on solving the issue.
Bunch of other open source frameworks are facing this issue: Ionic, Polymer.
Other resource on the subject: WICG/webcomponents#572
Solution proposed
In case they want support for password managers, we could provide an "obscure" config to allow users to disable shadow dom letting them know that doing such a thing might result in CSS clashes because they are removing CSS encapsulation.
The text was updated successfully, but these errors were encountered: