@@ -57,13 +57,12 @@ u2f.ErrorCodes = {
5757 * A message type for registration requests
5858 * @typedef {{
5959 * type: u2f.MessageTypes,
60- * signRequests: Array<u2f.SignRequest>,
61- * registerRequests: ?Array<u2f.RegisterRequest>,
60+ * appId: ?string,
6261 * timeoutSeconds: ?number,
6362 * requestId: ?number
6463 * }}
6564 */
66- u2f . Request ;
65+ u2f . U2fRequest ;
6766
6867
6968/**
@@ -74,7 +73,7 @@ u2f.Request;
7473 * requestId: ?number
7574 * }}
7675 */
77- u2f . Response ;
76+ u2f . U2fResponse ;
7877
7978
8079/**
@@ -86,6 +85,19 @@ u2f.Response;
8685 */
8786u2f . Error ;
8887
88+ /**
89+ * Data object for a single sign request.
90+ * @typedef {enum {BLUETOOTH_RADIO, BLUETOOTH_LOW_ENERGY, USB, NFC} }
91+ */
92+ u2f . Transport ;
93+
94+
95+ /**
96+ * Data object for a single sign request.
97+ // * @typedef {sequence<u2f.Transport> }
98+ * @typedef {Array<u2f.Transport> }
99+ */
100+ u2f . Transports ;
89101
90102/**
91103 * Data object for a single sign request.
@@ -114,8 +126,7 @@ u2f.SignResponse;
114126 * Data object for a registration request.
115127 * @typedef {{
116128 * version: string,
117- * challenge: string,
118- * appId: string
129+ * challenge: string
119130 * }}
120131 */
121132u2f . RegisterRequest ;
@@ -124,15 +135,40 @@ u2f.RegisterRequest;
124135/**
125136 * Data object for a registration response.
126137 * @typedef {{
127- * registrationData: string,
128- * clientData: string
138+ * version: string,
139+ * keyHandle: string,
140+ * transports: Transports,
141+ * appId: string
129142 * }}
130143 */
131144u2f . RegisterResponse ;
132145
146+ /**
147+ * Data object for a registered key.
148+ * @typedef {{
149+ * version: string,
150+ * keyHandle: string,
151+ * transports: ?Transports,
152+ * appId: ?string
153+ * }}
154+ */
155+ u2f . RegisteredKey ;
133156
134157// Low level MessagePort API support
135158
159+ /**
160+ * A message type for low-level MessagePort API registration requests
161+ * @typedef {{
162+ * type: u2f.MessageTypes,
163+ * appId: ?string,
164+ * timeoutSeconds: ?number,
165+ * requestId: ?number,
166+ * registerRequests: Array<u2f.RegisterRequest>,
167+ * registeredKeys: Array<u2f.RegisteredKey>
168+ * }}
169+ */
170+ u2f . U2fRegisterRequest ;
171+
136172
137173/**
138174 * Sets up a MessagePort to the U2F extension using the
@@ -320,7 +356,7 @@ u2f.getPortSingleton_ = function(callback) {
320356
321357/**
322358 * Handles response messages from the extension.
323- * @param {MessageEvent.<u2f.Response > } message
359+ * @param {MessageEvent.<u2f.U2fResponse > } message
324360 * @private
325361 */
326362u2f . responseHandler_ = function ( message ) {
@@ -338,17 +374,22 @@ u2f.responseHandler_ = function(message) {
338374
339375/**
340376 * Dispatches an array of sign requests to available U2F tokens.
341- * @param {Array<u2f.SignRequest> } signRequests
377+ * @param {string= } appId
378+ * @param {string= } challenge
379+ * @param {Array<u2f.RegisteredKey> } registeredKeys
380+ // * @param {sequence<u2f.RegisteredKey> } registeredKeys
342381 * @param {function((u2f.Error|u2f.SignResponse)) } callback
343382 * @param {number= } opt_timeoutSeconds
344383 */
345- u2f . sign = function ( signRequests , callback , opt_timeoutSeconds ) {
384+ u2f . sign = function ( appId , challenge , registeredKeys , callback , opt_timeoutSeconds ) {
346385 u2f . getPortSingleton_ ( function ( port ) {
347386 var reqId = ++ u2f . reqCounter_ ;
348387 u2f . callbackMap_ [ reqId ] = callback ;
349388 var req = {
350389 type : u2f . MessageTypes . U2F_SIGN_REQUEST ,
351- signRequests : signRequests ,
390+ appId : appId ,
391+ challenge : challenge ,
392+ registeredKeys : registeredKeys ,
352393 timeoutSeconds : ( typeof opt_timeoutSeconds !== 'undefined' ?
353394 opt_timeoutSeconds : u2f . EXTENSION_TIMEOUT_SEC ) ,
354395 requestId : reqId
@@ -361,20 +402,24 @@ u2f.sign = function(signRequests, callback, opt_timeoutSeconds) {
361402/**
362403 * Dispatches register requests to available U2F tokens. An array of sign
363404 * requests identifies already registered tokens.
405+ * @param {string= } appId
364406 * @param {Array<u2f.RegisterRequest> } registerRequests
365- * @param {Array<u2f.SignRequest> } signRequests
407+ * @param {Array<u2f.RegisteredKey> } registeredKeys
408+ // * @param {sequence<u2f.RegisterRequest> } registerRequests
409+ // * @param {sequence<u2f.RegisteredKey> } registeredKeys
366410 * @param {function((u2f.Error|u2f.RegisterResponse)) } callback
367411 * @param {number= } opt_timeoutSeconds
368412 */
369- u2f . register = function ( registerRequests , signRequests ,
413+ u2f . register = function ( appId , registerRequests , registeredKeys ,
370414 callback , opt_timeoutSeconds ) {
371415 u2f . getPortSingleton_ ( function ( port ) {
372416 var reqId = ++ u2f . reqCounter_ ;
373417 u2f . callbackMap_ [ reqId ] = callback ;
374418 var req = {
375419 type : u2f . MessageTypes . U2F_REGISTER_REQUEST ,
376- signRequests : signRequests ,
420+ appId : appId ,
377421 registerRequests : registerRequests ,
422+ registeredKeys : registeredKeys ,
378423 timeoutSeconds : ( typeof opt_timeoutSeconds !== 'undefined' ?
379424 opt_timeoutSeconds : u2f . EXTENSION_TIMEOUT_SEC ) ,
380425 requestId : reqId
0 commit comments