summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2020-05-25 23:35:37 -0700
committerMatthew Miller <matthew@millerti.me>2020-05-25 23:35:37 -0700
commit5204e3c6b00904a58132d6ee5fb389f1e5a797d3 (patch)
tree3271500525da4bb6943ba84437a9e7d9491d1c0d /packages/server/src
parente7bd8a159db1ed1c4f184e7c2174981782a702ea (diff)
Allow specifying transports for assertion
Diffstat (limited to 'packages/server/src')
-rw-r--r--packages/server/src/assertion/generateAssertionOptions.ts16
1 files changed, 10 insertions, 6 deletions
diff --git a/packages/server/src/assertion/generateAssertionOptions.ts b/packages/server/src/assertion/generateAssertionOptions.ts
index ac18233..8a242dc 100644
--- a/packages/server/src/assertion/generateAssertionOptions.ts
+++ b/packages/server/src/assertion/generateAssertionOptions.ts
@@ -1,25 +1,29 @@
-import { PublicKeyCredentialRequestOptionsJSON } from '@webauthntine/typescript-types';
+import type {
+ 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 allowedBase64CredentialIDs Array of base64-encoded authenticator IDs registered by the
+ * user for assertion
* @param timeout How long (in ms) the user can take to complete assertion
+ * @param suggestedTransports Suggested types of authenticators for assertion
*/
export default function generateAssertionOptions(
challenge: string,
- base64CredentialIDs: string[],
+ allowedBase64CredentialIDs: string[],
timeout = 60000,
+ suggestedTransports: AuthenticatorTransport[] = ['usb', 'ble', 'nfc', 'internal'],
): PublicKeyCredentialRequestOptionsJSON {
return {
publicKey: {
challenge,
- allowCredentials: base64CredentialIDs.map(id => ({
+ allowCredentials: allowedBase64CredentialIDs.map(id => ({
id,
type: 'public-key',
- transports: ['usb', 'ble', 'nfc', 'internal'],
+ transports: suggestedTransports,
})),
timeout,
},