Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1023)

Side by Side Diff: third_party/WebKit/LayoutTests/webauth/idl.html

Issue 2966523002: Blink-layer update to match WebAuthN spec (Closed)
Patch Set: Add ContectLifecycleObserver... part2 Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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>
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 [SameObject] readonly attribute ArrayBuffer rawId;
10 readonly attribute ArrayBuffer attestation; 10 [SameObject] 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 [SameObject] readonly attribute ArrayBuffer clientDataJSON;
24 };
25
26 [SecureContext]
27 interface AuthenticatorAttestationResponse : AuthenticatorResponse {
28 [SameObject] readonly attribute ArrayBuffer attestationObject;
29 };
30
31 [SecureContext]
32 interface AuthenticatorAssertionResponse : AuthenticatorResponse {
33 [SameObject] readonly attribute ArrayBuffer authenticatorData;
34 [SameObject] 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> excludeCredentials = [];
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 AuthenticatorAttachment attachment;
66 boolean requireResidentKey = false;
49 }; 67 };
50 68
51 dictionary AuthenticationClientData { 69 enum AuthenticatorAttachment {
70 "platform",
71 "cross-platform"
72 };
73
74 dictionary PublicKeyCredentialRequestOptions {
75 required BufferSource challenge;
76 unsigned long timeout;
77 USVString rpId;
78 sequence<PublicKeyCredentialDescriptor> allowCredentials = [];
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 hashAlgorithm;
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<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<AuthenticatorAssertionResponse> getAssertion (
90 BufferSource assertionChallenge, 110 PublicKeyCredentialRequestOptions publicKey
91 optional AssertionOptions options
92 ); 111 );
93 }; 112 };
113
94 </script> 114 </script>
95 <script> 115 <script>
96 (function() { 116 (function() {
97 "use strict"; 117 "use strict";
98 var idl_array = new IdlArray(); 118 var idl_array = new IdlArray();
99 idl_array.add_idls(document.querySelector('#tested').textContent); 119 idl_array.add_idls(document.querySelector('#tested').textContent);
100 idl_array.add_objects({ 120 idl_array.add_objects({
101 WebAuthentication: ['navigator.authentication'] 121 WebAuthentication: ['navigator.authentication']
102 }); 122 });
103 idl_array.test(); 123 idl_array.test();
104 })(); 124 })();
105 </script> 125 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698