|
293 | 293 | ;
|
294 | 294 | }
|
295 | 295 |
|
296 |
| -function performCeremony(params) { |
| 296 | +async function performCeremony(params) { |
297 | 297 | const callbacks = params.callbacks || {}; /* { init, authenticatorRequest, serverRequest } */
|
298 | 298 | const getIndexActions = params.getIndexActions; /* function(): object */
|
299 | 299 | const getRequest = params.getRequest; /* function(urls: object): { publicKeyCredentialCreationOptions: object } | { publicKeyCredentialRequestOptions: object } */
|
|
305 | 305 | setStatus('Looking up API paths...');
|
306 | 306 | resetDisplays();
|
307 | 307 |
|
308 |
| - return getIndexActions() |
309 |
| - .then(urls => { |
310 |
| - setStatus(statusStrings.int); |
311 |
| - if (callbacks.init) { |
312 |
| - callbacks.init(urls); |
313 |
| - } |
314 |
| - return getRequest(urls); |
315 |
| - }) |
| 308 | + const rootUrls = await getIndexActions(); |
316 | 309 |
|
317 |
| - .then((params) => { |
318 |
| - const request = params.request; |
319 |
| - const urls = params.actions; |
320 |
| - setStatus(statusStrings.authenticatorRequest); |
321 |
| - if (callbacks.authenticatorRequest) { |
322 |
| - callbacks.authenticatorRequest({ request, urls }); |
323 |
| - } |
324 |
| - showRequest(request); |
325 |
| - ceremonyState = { |
326 |
| - callbacks, |
327 |
| - request, |
328 |
| - statusStrings, |
329 |
| - urls, |
330 |
| - useU2f, |
331 |
| - }; |
332 |
| - return executeRequest(request); |
333 |
| - }) |
334 |
| - .then(finishCeremony) |
335 |
| - ; |
| 310 | + setStatus(statusStrings.int); |
| 311 | + if (callbacks.init) { |
| 312 | + callbacks.init(rootUrls); |
| 313 | + } |
| 314 | + const { request, actions: urls } = await getRequest(rootUrls); |
| 315 | + |
| 316 | + setStatus(statusStrings.authenticatorRequest); |
| 317 | + if (callbacks.authenticatorRequest) { |
| 318 | + callbacks.authenticatorRequest({ request, urls }); |
| 319 | + } |
| 320 | + showRequest(request); |
| 321 | + ceremonyState = { |
| 322 | + callbacks, |
| 323 | + request, |
| 324 | + statusStrings, |
| 325 | + urls, |
| 326 | + useU2f, |
| 327 | + }; |
| 328 | + |
| 329 | + const webauthnResponse = await executeRequest(request); |
| 330 | + const serverResponse = await finishCeremony(webauthnResponse); |
| 331 | + |
| 332 | + return serverResponse; |
336 | 333 | }
|
337 | 334 |
|
338 | 335 | function finishCeremony(response) {
|
|
0 commit comments