mirror of
https://github.com/codex-team/codex.docs.git
synced 2025-07-19 13:19:42 +02:00
Authentication (#22)
* Authorization added * added secret to password, md5 hashing, removed promise from verifyToken, deleted links when not authorized * added dbinsert script * turned verifyToken to middleware, added description for dbinsert, added hidden csrf field in auth form * added middlewares, user model and controller * JSDoc fix * wrong password processing fix * added comments to dbinsert script, moved salt and passHash to singe db doc * Moved salt to .env, upgradedscript for generating password was, fixed comments and JSDoc * Deleted using salt (now user is only one), changed verifying password to bcrypt.compare, added httpyOnly property to jwt cookie
This commit is contained in:
parent
718be6d2f6
commit
58d3892d8f
33 changed files with 1464 additions and 58 deletions
45
generatePassword.js
Normal file
45
generatePassword.js
Normal file
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
let { password: db } = require('./src/utils/database');
|
||||
const program = require('commander');
|
||||
|
||||
const bcrypt = require('bcrypt');
|
||||
const saltRounds = 12;
|
||||
|
||||
/**
|
||||
* Script for generating password, that will be used to create and edit pages in CodeX.Docs.
|
||||
* Hashes password with bcrypt and inserts it to the database.
|
||||
* @see {https://github.com/tj/commander.js | CommanderJS}
|
||||
*/
|
||||
program
|
||||
.description('Application for generating password, that will be used to create and edit pages in CodeX.Docs.')
|
||||
.usage('[password]')
|
||||
.arguments('<password>')
|
||||
.action(async function (password) {
|
||||
bcrypt.hash(password, saltRounds, async (error, hash) => {
|
||||
if (error) {
|
||||
return 'Hash generating error';
|
||||
}
|
||||
|
||||
const userDoc = { passHash: hash };
|
||||
|
||||
await db.remove({}, {multi: true});
|
||||
await db.insert(userDoc);
|
||||
|
||||
console.log('Password was successfully generated');
|
||||
});
|
||||
});
|
||||
|
||||
program.on('--help', () => {
|
||||
console.log('');
|
||||
console.log('Example:');
|
||||
console.log('yarn generatePassword qwerty');
|
||||
console.log('');
|
||||
});
|
||||
|
||||
program.parse(process.argv);
|
||||
|
||||
if (process.argv.length !== 3) {
|
||||
console.error('Invalid command: %s\nSee --help or -h for a list of available commands.', program.args.join(' '));
|
||||
process.exit(1);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue