增加平台验证接口

pro
wj 2 years ago
parent d5bee1722d
commit 97c84757da

@ -27,10 +27,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@ -308,4 +305,44 @@ public class LoginController extends BaseController {
return ResultVOUtils.error(ResultEnum.DATA_CHANGE);
}
/**
*
*
* @return
*/
@ResponseBody
@PostMapping(value = "/verify")
public BaseResponse verify(@RequestBody Map<String, Object> params,
HttpServletRequest request) {
AuthAdmin authAdmin;
authAdmin = authAdminService.findByUserName(params.get("username").toString());
if (authAdmin == null) {
throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误");
}
if (!PasswordUtils.authAdminPwd(params.get("password").toString()).equals(authAdmin.getPassWord())) {
throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误");
}
AuthLicense authLicense = new AuthLicense();
if (params.get("appid") != null) {
authLicense = authLicenseDao.get(params.get("appid").toString());
} else {
String appid = AppUtils.getAppid();
authLicense.setId(appid);
authLicense.setAppid(appid);
authLicense.setApiKey(appid);
if (params.get("name") != null)
authLicense.setName(params.get("name").toString());
authLicense.setSecretKey(AppUtils.getSecretKey(appid));
authLicense.setCustomerId(authAdmin.getCustomerId() + "");
CompanyEntity companyEntity = companyService.findCompany(authAdmin.getCustomerId());
authLicense.setCompanyName(companyEntity.getCompanyName());
authLicense.setCreateDate(new Date());
authLicenseDao.romveByCustomerId(authAdmin.getCustomerId() + "");
authLicenseDao.save(authLicense);
}
return ResultVOUtils.success(authLicense);
}
}

@ -0,0 +1,63 @@
package com.glxp.api.util;
import lombok.extern.slf4j.Slf4j;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.UUID;
@Slf4j
public class AppUtils {
//生成secret_key
private final static String SALT = "1qazxsw2";
private static final String ALGORITH_NAME = "sha-512";
private static final int HASH_ITERATIONS = 2;
private final static String[] CHARS = new String[]{"a", "b", "c", "d", "e", "f",
"g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
"t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f",
"g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
"t", "u", "v", "w", "x", "y", "z"};
public static String getAppid() {
StringBuffer shortBuffer = new StringBuffer();
String uuid = UUID.randomUUID().toString().replace("-", "");
for (int i = 0; i < 8; i++) {
String str = uuid.substring(i * 4, i * 4 + 4);
int x = Integer.parseInt(str, 16);
shortBuffer.append(CHARS[x % 0x3E]);
}
return shortBuffer.toString();
}
public static String getSecretKey(String appid) {
try {
String[] array = new String[]{appid, SALT};
StringBuilder sb = new StringBuilder();
Arrays.sort(array);
for (String s : array) {
sb.append(s);
}
String str = sb.toString();
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.update(str.getBytes());
byte[] digest = md.digest();
StringBuilder hexstr = new StringBuilder();
String shaHex = "";
for (byte b : digest) {
shaHex = Integer.toHexString(b & 0xFF);
if (shaHex.length() < 2) {
hexstr.append(0);
}
hexstr.append(shaHex);
}
return hexstr.toString();
} catch (NoSuchAlgorithmException e) {
log.error(e.getMessage(), e);
throw new RuntimeException();
}
}
}
Loading…
Cancel
Save