Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async function validateToken(otp, npm) {
if (!validator.isNumeric(otp)) {
return false;
}
try {
const {token} = await profile.loginCouch(npm.username, npm.password, {registry: npm.registry, otp});
npm.token = token;
return true;
} catch (_) {
// Invalid 2FA token
}
return 'Invalid authentication code';
}
async function getNpmToken({npm}) {
let token;
try {
const result = await profile.loginCouch(npm.username, npm.password, {registry: npm.registry});
token = result.token;
} catch (error) {
if (error.code === 'EOTP') {
await askForOTP(npm);
token = npm.token;
}
}
if (!token) throw new Error(`Could not login to npm.`);
npm.token = token;
log.info(`Successfully created npm token. ${npm.token}`);
}