@kilterset/auth0-actions-testing
Version:
Test and develop Auth0 Actions or Okta CIC Actions locally.
50 lines • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.authenticationMethod = exports.authentication = void 0;
const assert_1 = require("assert");
const chance_1 = require("./chance");
const define_1 = require("./define");
const risk_assessment_1 = require("./risk-assessment");
exports.authentication = (0, define_1.define)(({ params, transientParams }) => {
let methods = params.methods;
if (!Array.isArray(methods)) {
const numMethods = typeof transientParams.numMethods === "number"
? transientParams.numMethods
: chance_1.chance.integer({ min: 1, max: 2 });
methods = Array.from({ length: numMethods }, () => (0, exports.authenticationMethod)());
}
else if (typeof transientParams.numMethods === "number") {
(0, assert_1.fail)("Please specify only one of `methods` and `numMethods`");
}
return {
methods,
riskAssessment: (0, risk_assessment_1.riskAssessment)(),
};
});
exports.authenticationMethod = (0, define_1.define)(({ params }) => {
const name = params.name ||
chance_1.chance.pickone([
"federated",
"pwd",
"passkey",
"sms",
"email",
"phone_number",
"mfa",
]);
const extra = name === "mfa"
? {
type: chance_1.chance.pickone([
"email",
"otp",
"push-notification",
"recovery-code",
"phone",
"webauthn-roaming",
"webauthn-platform",
]),
}
: undefined;
return Object.assign({ name, timestamp: chance_1.chance.date().toISOString() }, extra);
});
//# sourceMappingURL=authentication.js.map