summaryrefslogtreecommitdiffhomepage
path: root/packages/server
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server')
-rw-r--r--packages/server/src/assertion/generateAssertionOptions.test.ts12
-rw-r--r--packages/server/src/assertion/generateAssertionOptions.ts4
2 files changed, 16 insertions, 0 deletions
diff --git a/packages/server/src/assertion/generateAssertionOptions.test.ts b/packages/server/src/assertion/generateAssertionOptions.test.ts
index 720fc66..8f87805 100644
--- a/packages/server/src/assertion/generateAssertionOptions.test.ts
+++ b/packages/server/src/assertion/generateAssertionOptions.test.ts
@@ -109,3 +109,15 @@ test('should generate a challenge if one is not provided', () => {
// base64url-encoded 16-byte buffer from mocked `generateChallenge()`
expect(options.challenge).toEqual('AQIDBAUGBwgJCgsMDQ4PEA');
});
+
+test('should set rpId if specified', () => {
+ const rpID = 'simplewebauthn.dev';
+
+ const opts = generateAssertionOptions({
+ allowCredentials: [],
+ rpID,
+ });
+
+ expect(opts.rpId).toBeDefined();
+ expect(opts.rpId).toEqual(rpID);
+});
diff --git a/packages/server/src/assertion/generateAssertionOptions.ts b/packages/server/src/assertion/generateAssertionOptions.ts
index cd1e427..76e951a 100644
--- a/packages/server/src/assertion/generateAssertionOptions.ts
+++ b/packages/server/src/assertion/generateAssertionOptions.ts
@@ -12,6 +12,7 @@ type Options = {
timeout?: number;
userVerification?: UserVerificationRequirement;
extensions?: AuthenticationExtensionsClientInputs;
+ rpID?: string;
};
/**
@@ -24,6 +25,7 @@ type Options = {
* @param userVerification Set to `'discouraged'` when asserting as part of a 2FA flow, otherwise
* set to `'preferred'` or `'required'` as desired.
* @param extensions Additional plugins the authenticator or browser should use during assertion
+ * @param rpID Valid domain name (after `https://`)
*/
export default function generateAssertionOptions(
options: Options,
@@ -34,6 +36,7 @@ export default function generateAssertionOptions(
timeout = 60000,
userVerification,
extensions,
+ rpID,
} = options;
return {
@@ -42,5 +45,6 @@ export default function generateAssertionOptions(
timeout,
userVerification,
extensions,
+ rpId: rpID,
};
}