Skip to content
This repository has been archived by the owner on Oct 30, 2023. It is now read-only.

Commit

Permalink
Merge pull request #31 from FlowzPlatform/QA
Browse files Browse the repository at this point in the history
Qa
  • Loading branch information
80017 authored May 16, 2018
2 parents 2ae5a46 + 7a31215 commit 9c7473c
Show file tree
Hide file tree
Showing 10 changed files with 409 additions and 103 deletions.
5 changes: 3 additions & 2 deletions auth/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ const forgetpasswordRoute = route('/api/forgetpassword', 'POST')
const resetpasswordRoute = route('/api/resetpassword', 'POST')
const changepasswordRoute = route('/api/changepassword', 'POST')
const sendemailapiRoute = route('/api/sendemail', 'POST')
const verifyemailapiRoute = route('/api/verifyemail', 'POST')
const verifyemailapiRoute = route('/api/verifyemail', 'GET')
// const verifyaccountRoute = route('/api/verifyaccount', 'POST')
const ldapauthRoute = route('/api/ldapauth', 'POST')
const dashboardpassRoute = route('/api/dashboardpass', 'POST')
const userdetailsbyemailRoute = route('/api/userdetailsbyemail', 'POST')
Expand Down Expand Up @@ -168,7 +169,7 @@ module.exports = async function (req, res) {
} else if (sendemailapiRoute(req)) {
return users.sendemailapi(req, res);
} else if (verifyemailapiRoute (req)) {
return auth.verifyemail(req, res);
return users.verifyemail(req, res);
} else if (ldapauthRoute(req)) {
return auth.ldapauthprocess(req, res);
}else if (dashboardpassRoute(req)) {
Expand Down
133 changes: 133 additions & 0 deletions auth/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions auth/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@
"randomstring": "^1.1.5",
"request": "^2.83.0",
"request-promise": "^4.2.2",
"router": "^1.3.2",
"then-sleep": "^1.0.1",
"url": "^0.11.0",
"urlencoded-body-parser": "^2.0.1",
"yaml-config": "^0.3.0"
},
Expand Down
90 changes: 49 additions & 41 deletions auth/src/authentication/authentication.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ const attempt = (email, password) => {
throw createError(401, 'That user does not exist');
}
const user = users[0];
if (!compareSync(password, user.password)) {
if(user.password == null){
throw createError(401, "Oops! It looks as if you may have forgotten your password.");
}else if (!compareSync(password, user.password)) {
throw createError(401, "password doesn't match");
}
return user;
Expand All @@ -38,11 +40,13 @@ const attempt = (email, password) => {
* token generation
*/

let loginprocess = function(id, isActive) {
let loginprocess = function(id,isActive,isEmailVerified) {
console.log("id", id)
console.log("isActive", isActive)
if(isActive == 0){
throw createError(401, 'your account is deactivated');
console.log("isEmailVerified", isEmailVerified)
if(isEmailVerified == 0){
throw createError(401, 'Your account is inactive.Please verify your email.');
}else if(isActive == 0){
throw createError(401, 'Your account is blocked.');
}else{
try {
payload = {
Expand All @@ -68,8 +72,8 @@ let loginprocess = function(id, isActive) {
*/

const auth = ({ email, password }) =>
attempt(email, password).then(({ id , isActive }) => {
return loginprocess(id , isActive);
attempt(email, password).then(({ id ,isActive, isEmailVerified }) => {
return loginprocess(id ,isActive, isEmailVerified);
});

const verifyToken = token => verify(token, secret);
Expand All @@ -80,9 +84,9 @@ module.exports.decode = (req, res) => verifyToken(linkedTokens[req.headers['auth
* sociallogin jwt token genration
*/

const sociallogin = (id , isActive ) => {
const sociallogin = (id , isEmailVerified ) => {
// console.log('social_id:',id);
return loginprocess(id , isActive);
return loginprocess(id , isEmailVerified);
};

module.exports.sociallogin = sociallogin
Expand All @@ -92,6 +96,7 @@ module.exports.sociallogin = sociallogin
*/

module.exports.userdetails = async(req, res) => {
console.log("---- userdetails called ----")
let mainToken = req.headers['authorization'];
let token = linkedTokens[mainToken] ? linkedTokens[mainToken] : mainToken
try {
Expand Down Expand Up @@ -140,36 +145,36 @@ module.exports.userdetailsbyemail = async (req, res) => {
* verifyemail for social login
*/

module.exports.verifyemail = async(req, res) => {
req = await json(req)
let aboutme = req.aboutme;
let email = req.email;
let ob_id = req.id;
// console.log(ob_id);
let users = await User.find({ _id: ob_id });
// console.log(users);
let data = users[0];
// console.log("data:",data);

if (users.length == 0) {
throw createError(401, 'user not exist');
} else {
// console.log("data:",data);
let emailCheck = await User.find({ email: email });
if (emailCheck.length != 0) {
throw createError(409, 'Email already exist');
}
query = { _id: ob_id }
const update = {
$set: { "aboutme": aboutme, "email": email, "isEmailConfirm": 1, "updated_at": new Date() }
};

let up = await User.findOneAndUpdate(query, update, { returnNewDocument: true, new: true })
const id = up._id;
const isActive = up.isActive;
return loginprocess(id,isActive);
}
}
// module.exports.verifyemail = async(req, res) => {
// req = await json(req)
// let aboutme = req.aboutme;
// let email = req.email;
// let ob_id = req.id;
// // console.log(ob_id);
// let users = await User.find({ _id: ob_id });
// // console.log(users);
// let data = users[0];
// // console.log("data:",data);

// if (users.length == 0) {
// throw createError(401, 'user not exist');
// } else {
// // console.log("data:",data);
// let emailCheck = await User.find({ email: email });
// if (emailCheck.length != 0) {
// throw createError(409, 'Email already exist');
// }
// query = { _id: ob_id }
// const update = {
// $set: { "aboutme": aboutme, "email": email, "isEmailConfirm": 1, "updated_at": new Date() }
// };

// let up = await User.findOneAndUpdate(query, update, { returnNewDocument: true, new: true })
// const id = up._id;
// const isEmailVerified = up.isEmailVerified;
// return loginprocess(id,isEmailVerified);
// }
// }

/**
* ldap functions
Expand Down Expand Up @@ -348,6 +353,9 @@ module.exports.ldapauthprocess = async(req, res) => {

module.exports.changepassword = async(req, res) => {
let mainToken = req.headers['authorization'];
if (mainToken == "" || mainToken == null) {
throw createError(401, 'missing token in authorization header');
}
let token = linkedTokens[mainToken] ? linkedTokens[mainToken] : mainToken
req = await json(req)
let oldpass = req.oldpass;
Expand All @@ -364,7 +372,7 @@ module.exports.changepassword = async(req, res) => {
}
let comparepass = await bcrypt.compare(oldpass, users[0].password);
if (comparepass == false) {
throw createError(401, 'password does not match');
throw createError(401, 'Current password does not match.');
} else {
query = { _id: data.userId };
const update = { $set: { "password": hashSync(newpass, 2), "updated_at": new Date() } };
Expand All @@ -373,7 +381,7 @@ module.exports.changepassword = async(req, res) => {
return jsonString
}
} catch (err) {
throw createError(401, 'invalid token');
throw createError(401, err);
}
};

Expand Down
5 changes: 3 additions & 2 deletions auth/src/config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
module.exports = {
secret: process.env.SECRET,
database: process.env.MONGODB,
sendemailurl:'http://api.' + process.env.DOMAINKEY + '/vmailmicro/sendPassword'
database: process.env.MONGODB
,sendemailurl:'http://api.' + process.env.DOMAINKEY + '/vmailmicro/sendemaildata'
//,sendemailurl:'http://localhost:3003/sendemaildata'
};
Loading

0 comments on commit 9c7473c

Please sign in to comment.