OLD | NEW |
---|---|
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src=../resources/testharness.js></script> | 2 <script src=../resources/testharness.js></script> |
3 <script src=../resources/testharnessreport.js></script> | 3 <script src=../resources/testharnessreport.js></script> |
4 <script src=../resources/WebIDLParser.js></script> | 4 <script src=../resources/WebIDLParser.js></script> |
5 <script src=../resources/idlharness.js></script> | 5 <script src=../resources/idlharness.js></script> |
Mike West
2017/06/30 08:06:35
Can we move this file to `//third_party/WebKit/Lay
kpaulhamus
2017/06/30 10:59:39
Noting per your other comment that we're going to
| |
6 <script type="text/plain" id="tested"> | 6 <script type="text/plain" id="tested"> |
7 [SecureContext] | 7 [SecureContext] |
8 interface ScopedCredentialInfo { | 8 interface PublicKeyCredential : Credential { |
9 readonly attribute ArrayBuffer clientData; | 9 readonly attribute ArrayBuffer rawId; |
10 readonly attribute ArrayBuffer attestation; | 10 readonly attribute AuthenticatorResponse response; |
11 }; | 11 }; |
12 | 12 |
13 dictionary RelyingPartyAccount { | 13 partial dictionary CredentialCreationOptions { |
14 required DOMString rpDisplayName; | 14 MakeCredentialOptions? publicKey; |
15 required DOMString displayName; | |
16 required DOMString id; | |
17 DOMString name; | |
18 DOMString imageURL; | |
19 }; | 15 }; |
20 | 16 |
21 dictionary ScopedCredentialParameters { | 17 partial dictionary CredentialRequestOptions { |
22 required ScopedCredentialType type; | 18 PublicKeyCredentialRequestOptions? publicKey; |
19 }; | |
20 | |
21 [SecureContext] | |
22 interface AuthenticatorResponse { | |
23 readonly attribute ArrayBuffer clientDataJSON; | |
24 }; | |
25 | |
26 [SecureContext] | |
27 interface AuthenticatorAttestationResponse : AuthenticatorResponse { | |
28 readonly attribute ArrayBuffer attestationObject; | |
29 }; | |
30 | |
31 [SecureContext] | |
32 interface AuthenticatorAssertionResponse : AuthenticatorResponse { | |
33 readonly attribute ArrayBuffer authenticatorData; | |
34 readonly attribute ArrayBuffer signature; | |
35 }; | |
36 | |
37 dictionary PublicKeyCredentialParameters { | |
38 required PublicKeyCredentialType type; | |
23 required AlgorithmIdentifier algorithm; | 39 required AlgorithmIdentifier algorithm; |
24 }; | 40 }; |
25 | 41 |
26 dictionary ScopedCredentialOptions { | 42 dictionary MakeCredentialOptions { |
27 unsigned long timeoutSeconds; | 43 required PublicKeyCredentialEntity rp; |
28 USVString rpId; | 44 required PublicKeyCredentialUserEntity user; |
29 sequence < ScopedCredentialDescriptor > excludeList; | 45 |
30 AuthenticationExtension extensions; | 46 required BufferSource challenge; |
47 required sequence<PublicKeyCredentialParameters> parameters; | |
48 | |
49 unsigned long timeout; | |
50 sequence<PublicKeyCredentialDescriptor> excludeList; | |
51 AuthenticatorSelectionCriteria authenticatorSelection; | |
31 }; | 52 }; |
32 | 53 |
33 [SecureContext] | 54 dictionary PublicKeyCredentialEntity { |
34 interface AuthenticationAssertion { | 55 DOMString id; |
35 readonly attribute ScopedCredential credential; | 56 DOMString name; |
36 readonly attribute ArrayBuffer clientData; | 57 USVString icon; |
37 readonly attribute ArrayBuffer authenticatorData; | |
38 readonly attribute ArrayBuffer signature; | |
39 }; | 58 }; |
40 | 59 |
41 dictionary AssertionOptions { | 60 dictionary PublicKeyCredentialUserEntity : PublicKeyCredentialEntity { |
42 unsigned long timeoutSeconds; | 61 DOMString displayName; |
43 USVString rpId; | |
44 sequence < ScopedCredentialDescriptor > allowList; | |
45 AuthenticationExtension extensions; | |
46 }; | 62 }; |
47 | 63 |
48 dictionary AuthenticationExtension { | 64 dictionary AuthenticatorSelectionCriteria { |
65 Attachment attachment; | |
66 boolean requireResidentKey = false; | |
49 }; | 67 }; |
50 | 68 |
51 dictionary AuthenticationClientData { | 69 enum Attachment { |
70 "platform", | |
71 "cross-platform" | |
72 }; | |
73 | |
74 dictionary PublicKeyCredentialRequestOptions { | |
75 required BufferSource challenge; | |
76 unsigned long timeout; | |
77 USVString rpId; | |
78 sequence<PublicKeyCredentialDescriptor> allowList = []; | |
79 }; | |
80 | |
81 dictionary CollectedClientData { | |
52 required DOMString challenge; | 82 required DOMString challenge; |
53 required DOMString origin; | 83 required DOMString origin; |
54 required AlgorithmIdentifier hashAlg; | 84 required DOMString hashAlg; |
55 DOMString tokenBinding; | 85 DOMString tokenBindingId; |
56 AuthenticationExtension extensions; | |
57 }; | 86 }; |
58 | 87 |
59 enum ScopedCredentialType { | 88 enum PublicKeyCredentialType { |
60 "ScopedCred" | 89 "public-key" |
61 }; | 90 }; |
62 | 91 |
63 [SecureContext] | 92 dictionary PublicKeyCredentialDescriptor { |
64 interface ScopedCredential { | 93 required PublicKeyCredentialType type; |
65 readonly attribute ScopedCredentialType type; | 94 required BufferSource id; |
66 readonly attribute ArrayBuffer id; | 95 sequence<Transport> transports; |
67 }; | |
68 | |
69 dictionary ScopedCredentialDescriptor { | |
70 required ScopedCredentialType type; | |
71 required BufferSource id; | |
72 sequence <Transport> transports; | |
73 }; | 96 }; |
74 | 97 |
75 enum Transport { | 98 enum Transport { |
76 "usb", | 99 "usb", |
77 "nfc", | 100 "nfc", |
78 "ble" | 101 "ble" |
79 }; | 102 }; |
80 [SecureContext] | 103 |
81 interface WebAuthentication { | 104 interface WebAuthentication { |
82 Promise <ScopedCredentialInfo> makeCredential ( | 105 Promise<sequence<AuthenticatorAttestationResponse>> makeCredential ( |
83 Account accountInformation, | 106 MakeCredentialOptions» publicKey |
84 sequence < ScopedCredentialParameters > cryptoParameters, | |
85 BufferSource attestationChallenge, | |
86 optional ScopedCredentialOptions options | |
87 ); | 107 ); |
88 | 108 |
89 Promise <AuthenticationAssertion> getAssertion ( | 109 Promise<sequence<AuthenticatorAssertionResponse>> getAssertion ( |
90 BufferSource assertionChallenge, | 110 PublicKeyCredentialRequestOptions publicKey |
91 optional AssertionOptions options | |
92 ); | 111 ); |
93 }; | 112 }; |
113 | |
114 typedef sequence<AAGUID> AuthenticatorSelectionList; | |
115 | |
116 typedef BufferSource AAGUID; | |
117 | |
94 </script> | 118 </script> |
95 <script> | 119 <script> |
96 (function() { | 120 (function() { |
97 "use strict"; | 121 "use strict"; |
98 var idl_array = new IdlArray(); | 122 var idl_array = new IdlArray(); |
99 idl_array.add_idls(document.querySelector('#tested').textContent); | 123 idl_array.add_idls(document.querySelector('#tested').textContent); |
100 idl_array.add_objects({ | 124 idl_array.add_objects({ |
101 WebAuthentication: ['navigator.authentication'] | 125 WebAuthentication: ['navigator.authentication'] |
102 }); | 126 }); |
103 idl_array.test(); | 127 idl_array.test(); |
104 })(); | 128 })(); |
105 </script> | 129 </script> |
OLD | NEW |