|
@@ -105,10 +105,12 @@ module.exports = app => {
|
|
async accountLogin(data, loginType) {
|
|
async accountLogin(data, loginType) {
|
|
let result = false;
|
|
let result = false;
|
|
try {
|
|
try {
|
|
- // 验证数据
|
|
|
|
- const scene = loginType === 1 ? 'ssoLogin' : 'login';
|
|
|
|
- const rule = this.rule(scene);
|
|
|
|
- this.ctx.validate(rule, data);
|
|
|
|
|
|
+ if (loginType === 1 || loginType === 2) {
|
|
|
|
+ // 验证数据
|
|
|
|
+ const scene = loginType === 1 ? 'ssoLogin' : 'login';
|
|
|
|
+ const rule = this.rule(scene);
|
|
|
|
+ this.ctx.validate(rule, data);
|
|
|
|
+ }
|
|
|
|
|
|
let accountData = {};
|
|
let accountData = {};
|
|
let projectInfo = {};
|
|
let projectInfo = {};
|
|
@@ -125,6 +127,7 @@ module.exports = app => {
|
|
id: projectData.id,
|
|
id: projectData.id,
|
|
name: projectData.name,
|
|
name: projectData.name,
|
|
userAccount: projectData.user_account,
|
|
userAccount: projectData.user_account,
|
|
|
|
+ custom: projectData.custom,
|
|
};
|
|
};
|
|
|
|
|
|
// 查找对应数据
|
|
// 查找对应数据
|
|
@@ -153,11 +156,27 @@ module.exports = app => {
|
|
// const sso = new SSO(this.ctx);
|
|
// const sso = new SSO(this.ctx);
|
|
// result = await sso.loginValid(data.account, data.project_password.toString());
|
|
// result = await sso.loginValid(data.account, data.project_password.toString());
|
|
// } else {
|
|
// } else {
|
|
- // 加密密码
|
|
|
|
- const encryptPassword = crypto.createHmac('sha1', data.account.trim()).update(data.project_password.trim())
|
|
|
|
- .digest().toString('base64');
|
|
|
|
- result = encryptPassword === accountData.password;
|
|
|
|
- //}
|
|
|
|
|
|
+ // 加密密码
|
|
|
|
+ const encryptPassword = crypto.createHmac('sha1', data.account.trim()).update(data.project_password.trim())
|
|
|
|
+ .digest().toString('base64');
|
|
|
|
+ result = encryptPassword === accountData.password;
|
|
|
|
+ // }
|
|
|
|
+ } else if (loginType === 3) {
|
|
|
|
+ // 查找项目数据
|
|
|
|
+ const projectData = data.project;
|
|
|
|
+
|
|
|
|
+ projectInfo = {
|
|
|
|
+ id: projectData.id,
|
|
|
|
+ name: projectData.name,
|
|
|
|
+ userAccount: projectData.user_account,
|
|
|
|
+ custom: projectData.custom,
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ // 查找对应数据
|
|
|
|
+ accountData = data.accountData;
|
|
|
|
+
|
|
|
|
+ projectList = await this.getProjectInfoByAccount(accountData.account);
|
|
|
|
+ result = true;
|
|
} else {
|
|
} else {
|
|
// sso登录(演示版)
|
|
// sso登录(演示版)
|
|
const sso = new SSO(this.ctx);
|
|
const sso = new SSO(this.ctx);
|
|
@@ -173,7 +192,7 @@ module.exports = app => {
|
|
const sessionToken = crypto.createHmac('sha1', currentTime + '').update(accountData.account)
|
|
const sessionToken = crypto.createHmac('sha1', currentTime + '').update(accountData.account)
|
|
.digest('hex').toString('base64');
|
|
.digest('hex').toString('base64');
|
|
|
|
|
|
- if (loginType === 2) {
|
|
|
|
|
|
+ if (loginType === 2 || loginType === 3) {
|
|
const updateData = {
|
|
const updateData = {
|
|
last_login: currentTime,
|
|
last_login: currentTime,
|
|
session_token: sessionToken,
|
|
session_token: sessionToken,
|