isolated certificate related logic from public cloud server

This commit is contained in:
strawmanbobi
2016-12-09 13:45:30 +08:00
parent c296f5e53b
commit 3ac80620be
7 changed files with 9 additions and 134 deletions

View File

@@ -40,7 +40,7 @@ exports.setupEnvironment = function () {
REDIS_HOST = "localhost";
REDIS_PORT = "6379";
REDIS_PASSWORD = "";
EXTERNAL_SERVER_ADDRESS = "www.strawmanbobi.com";
EXTERNAL_SERVER_ADDRESS = "192.168.137.128";
EXTERNAL_SERVER_PORT = "8300"
} else if (enums.APP_USERDEBUG_MODE == env) {
MYSQL_DB_SERVER_ADDRESS = "localhost";

View File

@@ -1,87 +0,0 @@
/**
* Created by strawmanbobi
* 2016-11-12
*/
// global inclusion
var orm = require('orm');
var dbOrm = require('../mini_poem/db/mysql/mysql_connection').mysqlDB;
var logger = require('../mini_poem/logging/logger4js').helper;
// local inclusion
var ErrorCode = require('../constants/error_code');
var errorCode = new ErrorCode();
var Admin = dbOrm.define('admin',
{
id: Number,
user_name: String,
password: String,
permissions: String,
admin_type: String
},
{
cache: false
}
);
Admin.findAdminsByConditions = function(conditions, from, count, sortField, callback) {
if("id" == sortField && 0 != from) {
conditions.id = orm.lt(from);
Admin.find(conditions).limit(parseInt(count)).orderRaw("?? ASC", [sortField])
.run(function (error, admins) {
if (error) {
logger.error("find admin error : " + error);
callback(errorCode.FAILED, null);
} else {
logger.info("find admin successfully, length of admins = " + admins.length);
callback(errorCode.SUCCESS, admins);
}
});
} else {
Admin.find(conditions).limit(parseInt(count)).offset(parseInt(from)).orderRaw("?? ASC", [sortField])
.run(function (error, admins) {
if (error) {
logger.error("find admin error : " + error);
callback(errorCode.FAILED, null);
} else {
logger.info("find admin successfully, length of admins = " + admins.length);
callback(errorCode.SUCCESS, admins);
}
});
}
};
Admin.updatePasswordByID = function(adminID, password, callback) {
Admin.get(adminID, function(error, admin) {
if (error) {
logger.error("get admin failed in update password : " + error);
callback(errorCode.SUCCESS, null);
} else {
admin.password = password;
admin.save(function(error, savedAdmin) {
if (error) {
logger.error("save admin failed in update password : " + error);
callback(errorCode.SUCCESS, null);
} else {
logger.info("save admin successfully in update password");
callback(errorCode.SUCCESS, savedAdmin);
}
});
}
});
};
Admin.getAdminByID = function(adminID, callback) {
Admin.get(adminID, function(error, admin) {
if (error) {
logger.error("get admin failed : " + error);
callback(errorCode.FAILED, null);
} else {
logger.info("get admin successfully");
callback(errorCode.SUCCESS, admin);
}
});
};
module.exports = Admin;

View File

@@ -6,8 +6,6 @@
var app = require('../irext_console.js');
var certificateService = require('../services/certificate_service.js');
app.get('/irext/certificate/confirm_pw', certificateService.confirmPassword);
app.post('/irext/certificate/admin_login', certificateService.adminLogin);
app.post('/irext/certificate/token_verify', certificateService.verifyToken);
app.post('/irext/certificate/change_pw', certificateService.changePassword);

View File

@@ -69,33 +69,12 @@ exports.verifyToken = function (req, res) {
exports.changePassword = function (req, res) {
var bodyParam = req.body;
var userName = bodyParam.user_name;
var callbackURL = bodyParam.callback_url;
var serviceResponse = new ServiceResponse();
certificateLogic.sendChangePwMailWorkUnit(userName, function (changePWErr) {
certificateLogic.sendChangePwMailWorkUnit(userName, callbackURL, function (changePWErr) {
serviceResponse.status = changePWErr;
res.send(serviceResponse);
res.end();
});
};
/*
* function : Confirm password change
* parameter : id of Adminstrator
* new password fetch ID
* return : redirection to irext data center
*/
exports.confirmPassword = function (req, res) {
var id = req.query.id;
var fetchKey = req.query.key;
var password = req.query.password;
var serviceResponse = new ServiceResponse();
certificateLogic.confirmPasswordWorkUnit(id, fetchKey, function (confirmPWErr) {
if (errorCode.SUCCESS.code == confirmPWErr.code) {
res.redirect("http://"+MAIN_SERVER_ADDRESS+":"+MAIN_SERVER_PORT+"/error/confirm_pw.html?password="+
password+"&result=1");
} else {
res.redirect("http://"+MAIN_SERVER_ADDRESS+":"+MAIN_SERVER_PORT+"/error/confirm_pw.html?result=0");
}
});
};

View File

@@ -69,7 +69,8 @@ function changePassword() {
url: "/irext/certificate/change_pw",
type: "POST",
data: {
user_name : userName
user_name : userName,
callback_url : window.location.hostname
},
timeout: 20000,
success: function (response) {

View File

@@ -3,12 +3,10 @@
* 2016-11-27
*/
var Constants = require('../mini_poem/configuration/constants');
require('../mini_poem/configuration/constants');
var Admin = require('../model/admin_dao.js');
var AdminAuth = require('../authority/admin_auth.js');
var MD5 = require('../mini_poem/crypto/md5.js');
var StringUtils = require('../mini_poem/utils/string_utils.js');
var RequestSender = require('../mini_poem/http/request.js');
var Enums = require('../constants/enums.js');
@@ -98,7 +96,7 @@ exports.verifyTokenWithPermissionWorkUnit = function (id, token, permissions, ca
});
};
exports.sendChangePwMailWorkUnit = function (userName, callback) {
exports.sendChangePwMailWorkUnit = function (userName, callbackURL, callback) {
var queryParams = new Map();
var requestSender =
@@ -108,7 +106,8 @@ exports.sendChangePwMailWorkUnit = function (userName, callback) {
queryParams);
var userInfo = {
user_name : userName
user_name : userName,
callback_url :callbackURL
};
requestSender.sendPostRequest(userInfo,
function(changePwRequestErr, changePwResponse) {
@@ -123,18 +122,4 @@ exports.sendChangePwMailWorkUnit = function (userName, callback) {
callback(errorCode.FAILED);
}
});
};
exports.confirmPasswordWorkUnit = function(id, fetchKey, callback) {
adminAuth.getAuthInfo(fetchKey, function(getAuthInfoErr, result) {
if (errorCode.SUCCESS.code == getAuthInfoErr.code) {
logger.info("succeeded to fetch ciphered password value " + result);
Admin.updatePasswordByID(id, result, function(updateAdminErr, updatedAdmin) {
callback(updateAdminErr);
});
} else {
logger.info("failed to fetch ciphered password value");
callback(errorCode.FAILED);
}
});
};

View File

@@ -18,7 +18,6 @@ var IRProtocol = require('../model/ir_protocol_dao.js');
var City = require('../model/city_dao.js');
var RemoteIndex = require('../model/remote_index_dao.js');
var StbOperator = require('../model/stb_operator_dao.js');
var Admin = require('../model/admin_dao.js');
var RequestSender = require('../mini_poem/http/request.js');
var Map = require('../mini_poem/mem/map.js');