diff options
Diffstat (limited to 'packages/server/src/helpers/generateUserHandle.ts')
-rw-r--r-- | packages/server/src/helpers/generateUserHandle.ts | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/packages/server/src/helpers/generateUserHandle.ts b/packages/server/src/helpers/generateUserHandle.ts new file mode 100644 index 0000000..be3f838 --- /dev/null +++ b/packages/server/src/helpers/generateUserHandle.ts @@ -0,0 +1,16 @@ +import crypto from 'crypto'; + +/** + * Generate a suitably random value to be used as a user handle when creating a credential + */ +export default function generateUserHandle(): Buffer { + /** + * As per WebAuthn spec: + * + * "A user handle is an opaque byte sequence with a maximum size of 64 bytes, and is not meant to + * be displayed to the user." + * + * See https://w3c.github.io/webauthn/#user-handle + */ + return crypto.randomBytes(64); +} |