Skip to content

Commit 1c2a8d4

Browse files
Define and export 'credential manager' (#275)
Added a formal definition for "credential manager".
1 parent b8af53c commit 1c2a8d4

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

index.bs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ spec:css-syntax-3;
141141
mechanisms (submitting credentials via {{XMLHttpRequest}} [[XMLHTTPREQUEST]], for instance) are
142142
difficult to reliably detect, as is the increasingly common case in which users wish to
143143
authenticate themselves using a federated identity provider. Allowing websites to more directly
144-
interact with the user agent's credential manager would allow the credential manager to be more
144+
interact with the user agent's [=credential manager=] would allow the [=credential manager=] to be more
145145
accurate on the one hand, and to assist users with federated sign-in on the other.
146146

147147
These use cases are explored in more detail in [[#use-cases]] and in
@@ -153,7 +153,7 @@ spec:css-syntax-3;
153153

154154
Note: The API defined here is intentionally small and simple: it does not intend to provide
155155
authentication in and of itself, but is limited to providing an interface to the existing
156-
credential managers implemented by existing user agents. That functionality is valuable
156+
[=credential managers=] implemented by existing user agents. That functionality is valuable
157157
<em>right now</em>, without significant effort on the part of either vendors or authors. There's
158158
certainly quite a bit more which could be done, of course. See [[#teh-futur]] for some thoughts
159159
we've punted for now, but which could be explored in future iterations of this API.
@@ -240,6 +240,12 @@ spec:css-syntax-3;
240240

241241
## Infrastructure ## {#core-infrastructure}
242242

243+
A <dfn export>credential manager</dfn> is an application, hardware device, or service
244+
that [=credential store|stores=], organizes, manages,
245+
and allows [=credential chooser|choosing=] credentials.
246+
Example credential managers include [=digital wallets=], password managers,
247+
and [=passkey=] managers.
248+
243249
User agents MUST internally provide a <dfn export id="concept-credential-store">credential
244250
store</dfn>, which is a vendor-specific, opaque storage mechanism to record which [=credentials=]
245251
have been [=effective=]. It offers the following capabilities for [=credential=] access and
@@ -2125,7 +2131,7 @@ spec:css-syntax-3;
21252131
`false` without [=user mediation=]. For example, the [=credential chooser=] described in
21262132
[[#user-mediated-selection]] could have a checkbox which the user could toggle to mark a
21272133
credential as available without mediation for the origin, or the user agent could have an
2128-
onboarding process for its credential manager which asked a user for a default setting.
2134+
onboarding process for its [=credential manager=] which asked a user for a default setting.
21292135

21302136
3. User agents MUST notify users when credentials are provided to an origin. This could take the
21312137
form of an icon in the address bar, or some similar location.
@@ -2260,7 +2266,7 @@ spec:css-syntax-3;
22602266
User agents MUST NOT expose the APIs defined here to environments which are not [=secure
22612267
contexts=]. User agents might implement autofill mechanisms which store user credentials and fill
22622268
sign-in forms on [=potentially trustworthy URL|non-potentially trustworthy URLs=], but those sites cannot
2263-
be trusted to interact directly with the credential manager in any meaningful way, and those sites
2269+
be trusted to interact directly with the [=credential manager=] in any meaningful way, and those sites
22642270
MUST NOT have access to credentials saved in [=secure contexts=].
22652271

22662272
## Origin Confusion ## {#security-origin-confusion}
@@ -2524,8 +2530,8 @@ spec:css-syntax-3;
25242530

25252531
<em>This section is non-normative.</em>
25262532

2527-
The API defined here does the bare minimum to expose user agent's credential managers to the web,
2528-
and allows the web to help those credential managers understand when federated identity providers
2533+
The API defined here does the bare minimum to expose user agent's [=credential managers=] to the web,
2534+
and allows the web to help those [=credential managers=] understand when federated identity providers
25292535
are in use. The next logical step will be along the lines sketched in documents like [[WEB-LOGIN]]
25302536
(and, to some extent, Mozilla's BrowserID [[BROWSERID]]).
25312537

0 commit comments

Comments
 (0)