diff options
author | Matthew Miller <matthew@millerti.me> | 2020-05-22 10:34:40 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-22 10:34:40 -0700 |
commit | 27d2104bfd297ac6e6e6ffe17ad12ad9dcd1bd3d (patch) | |
tree | c6c005074f78ef079d1195acbf03f6abd31bc562 /packages/server/src/assertion/generateAssertionOptions.ts | |
parent | d9074ec54935aa2155151d2dd9dea0974f33da29 (diff) | |
parent | 1038e1a9bb04a1b638248ff6cf7d57c21304a668 (diff) |
Merge pull request #1 from MasterKale/feature/lerna
feature/monorepo
Diffstat (limited to 'packages/server/src/assertion/generateAssertionOptions.ts')
-rw-r--r-- | packages/server/src/assertion/generateAssertionOptions.ts | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/server/src/assertion/generateAssertionOptions.ts b/packages/server/src/assertion/generateAssertionOptions.ts new file mode 100644 index 0000000..e9693fa --- /dev/null +++ b/packages/server/src/assertion/generateAssertionOptions.ts @@ -0,0 +1,28 @@ +import { PublicKeyCredentialRequestOptionsJSON } from '@webauthntine/typescript-types'; + + +/** + * Prepare a value to pass into navigator.credentials.get(...) for authenticator "login" + * + * @param challenge Random string the authenticator needs to sign and pass back + * @param base64CredentialIDs Array of base64-encoded authenticator IDs registered by the user for + * assertion + * @param timeout How long (in ms) the user can take to complete attestation + */ +export default function generateAssertionOptions( + challenge: string, + base64CredentialIDs: string[], + timeout: number = 60000, +): PublicKeyCredentialRequestOptionsJSON { + return { + publicKey: { + challenge, + allowCredentials: base64CredentialIDs.map(id => ({ + id, + type: 'public-key', + transports: ['usb', 'ble', 'nfc'], + })), + timeout, + }, + }; +} |