isolated certificate related logic from public cloud server
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
@@ -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");
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user