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

Permit silently storing PSL matched credentials #59

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

Conversation

battre
Copy link
Collaborator

@battre battre commented Feb 14, 2017

Explicitly allow a browser to silently store PSL matched credentials so that they can become eligible to non-mediated provisioning.

Fixes #43.


Preview | Diff

@battre battre requested review from mikewest and vabr-g February 14, 2017 15:17
Copy link
Member

@mikewest mikewest left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You'll need to update https://w3c.github.io/webappsec-credential-management/#store-siteboundcredential as well. Currently, the credential that's returned to the page would have an internal [[origin]] slot of the original origin, not the origin on which get() was called. I think you'll need to add some logic there to copy the credential information into a new PasswordCredential with a different origin, or add some verbage here in this section about how exactly the chooser would synthesize a new PasswordCredential object.

Also, that algorithm asks for user permission, so you'll probably want to either note the carveout and point back to this section, or come up with a better way of describing when the chooser should be presented.

{{CredentialsContainer/store()}} is called if the credential was
retrieved via a user mediated {{CredentialsContainer/get()}} from a
PSL-matched domain and new domain is still PSL-matching the original
domain for which the credentials were stored.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: </li>

MAY store credentials without user mediation when
{{CredentialsContainer/store()}} is called if the credential was
retrieved via a user mediated {{CredentialsContainer/get()}} from a
PSL-matched domain and new domain is still PSL-matching the original
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we could be a little more precise. How about something like: "... via a user-mediated {{CredentialsContainer/get()}}, if the credential's {{[[origin]]}}'s <a>registerable domain</a> is the same as the <a>current settings object</a>'s <a for="environment settings object">origin</a>'s <a>registerable domain</a>."

<div class="example">
A user stores a credential for <code>https://www.example.com/</code> on
their computer. This credential is synced via the browser's syncing
technologies to the user's phone. The user visits
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I'd suggest dropping the sync bit. It's irrelevant to your example.

"""
A user stores a credential after creating an account for https://accounts.example.com/. When they wish to sign into https://example.com/ in the future, the user agent can offer that credential in response to {{CredentialsContainer/get()}} with user mediation, as described above. If the user chooses that credential, the website can call {{CredentialsContainer/store()}} to ensure that the credential is available to https://example.com/ in the future. Since the two origins have the same registerable domain, and the user indicated that the credentials are valid for both origins, the user agent can store a credential for https://example.com/ without further prompting.
"""

</ol>

<div class="example">
A user stores a credential for <code>https://www.example.com/</code> on
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: s/<\/?code>/`/, here and elsewhere.

Base automatically changed from master to main February 16, 2021 23:21
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.

Saving PSL matched credentials
2 participants