Browse Source

Merge remote-tracking branch 'origin/dev' into dev

huxz 7 years ago
parent
commit
1caf34edb0

+ 70 - 0
sso-common/src/main/java/com/uas/sso/entity/AppCreateInfo.java

@@ -0,0 +1,70 @@
+package com.uas.sso.entity;
+
+public class AppCreateInfo {
+
+	/**
+	 * 是否注册过优软云
+	 */
+	private boolean inCloud;
+
+	/**
+	 * 是否开立过账套
+	 */
+	private boolean hasCreate;
+
+	/**
+	 * 注册过优软云的营业执照号
+	 */
+	private String businessCode;
+
+	/**
+	 * 注册优软云的名称
+	 */
+	private String name;
+
+	/**
+	 * 返回uu号
+	 */
+	private String enuu;
+
+	public boolean isInCloud() {
+		return inCloud;
+	}
+
+	public void setInCloud(boolean inCloud) {
+		this.inCloud = inCloud;
+	}
+
+	public boolean isHasCreate() {
+		return hasCreate;
+	}
+
+	public void setHasCreate(boolean hasCreate) {
+		this.hasCreate = hasCreate;
+	}
+
+	public String getBusinessCode() {
+		return businessCode;
+	}
+
+	public void setBusinessCode(String businessCode) {
+		this.businessCode = businessCode;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getEnuu() {
+		return enuu;
+	}
+
+	public void setEnuu(String enuu) {
+		this.enuu = enuu;
+	}
+
+}

+ 31 - 24
sso-common/src/main/java/com/uas/sso/util/AccountUtils.java

@@ -86,7 +86,7 @@ public class AccountUtils {
         String saveUrl = AccountConfig.getUserSaveUrl();
         if (!StringUtils.isEmpty(saveUrl)) {
             ModelMap formData = new ModelMap();
-            formData.put("_operate", "bind");
+            formData.put("_operate", "unbind");
             formData.put("userUU", userUU);
             formData.put("spaceUU", spaceUU);
             HttpUtil.ResponseWrap res = HttpUtil.doPost(saveUrl, formData);
@@ -111,7 +111,7 @@ public class AccountUtils {
         String saveUrl = AccountConfig.getUserSaveUrl();
         if (!StringUtils.isEmpty(saveUrl)) {
             ModelMap formData = new ModelMap();
-            formData.put("_operate", "unbind");
+            formData.put("_operate", "bind");
             formData.put("userUU", userUU);
             formData.put("spaceUU", spaceUU);
             HttpUtil.ResponseWrap res = HttpUtil.doPost(saveUrl, formData);
@@ -386,6 +386,35 @@ public class AccountUtils {
         return request;
     }
 
+    /**
+     * 校验密码
+     *
+     * <pre>
+     * 全匹配模式
+     * </pre>
+     *
+     * @param user
+     * @throws Exception
+     */
+    public static boolean fuzzyCheckPassword(UserView user) throws Exception {
+        String saveUrl = AccountConfig.getUserSaveUrl();
+        if (!StringUtils.isEmpty(saveUrl)) {
+            JSONObject formData = JSON.parseObject(JSON.toJSONString(user));
+            formData.put("_operate", "fuzzyCheck");
+            HttpUtil.ResponseWrap res = HttpUtil.doGet(saveUrl, formData);
+            if (!res.isSuccess()) {
+                throw new Exception(res.getContent());
+            } else {
+                ResultWrap result = JSON.parseObject(res.getContent(), ResultWrap.class);
+                if (!result.isSuccess()) {
+                    throw new Exception(result.getErrMsg());
+                } else {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
 /// 之后方法会恢复并修改
 //
 //	/**
@@ -743,28 +772,6 @@ public class AccountUtils {
 		}
 		return result;
 	}
-
-//	/**
-//	 * 通过当前企业号和企业列表中的企业号查询申请状态
-//	 *
-//	 * @return
-//	 * @throws Exception
-//	 */
-//	public static RequsetStatus getStatusByCustUidAndVendUid(String custUid, String vendUid) throws Exception {
-//		String url = AccountConfig.getEnPartnersUrl();
-//		RequsetStatus request = new RequsetStatus();
-//		if (!StringUtils.isEmpty(url)) {
-//			ResponseWrap res = HttpUtil.doGet(url, new ModelMap("_operate", "getRequestStatus").addAttribute("custUid", custUid)
-//					.addAttribute("vendUid", vendUid));
-//			if (!res.isSuccess())
-//				throw new Exception(res.getContent());
-//			else {
-//				request = JSON.parseObject(res.getContent(), RequsetStatus.class);
-//			}
-//		}
-//		return request;
-//	}
-//
 //	/**
 //	 * 搜索词通过id返回数据
 //	 *

+ 1 - 0
sso-server/build.gradle

@@ -44,6 +44,7 @@ dependencies {
     compile("com.uas.message:message-mail-api:0.0.1")
     compile("com.uas.message:message-sms-api:0.0.1")
     compile("com.uas.account:sso-core:0.0.1")
+    compile("com.uas.account:account-common:0.0.1-SNAPSHOT")
     compile("com.uas.dfs:dfs-api:0.0.2")
 
     compile("org.apache.zookeeper:zookeeper:3.4.6")

+ 1 - 1
sso-server/src/main/java/com/uas/sso/SSOConfiguration.java

@@ -37,7 +37,7 @@ public class SSOConfiguration extends WebMvcConfigurerAdapter {
          */
         registry.addInterceptor(ssoInterceptor).addPathPatterns("/**").
                 excludePathPatterns("/sso/*/register/**", "/sso/login/**", "/api/user/**", "/api/userspace/**",
-                        "/sso/resetPwd/**", "/appeal/resetPwd", "/api/partners");
+                        "/sso/resetPwd/**", "/appeal/resetPwd", "/api/partners", "/appeal/**");
 
     }
 

+ 22 - 15
sso-server/src/main/java/com/uas/sso/controller/AppealController.java

@@ -27,6 +27,9 @@ public class AppealController extends BaseController {
     @Autowired
     private UserService userService;
 
+    @Autowired
+    private UserspaceService userspaceService;
+
     @Autowired
     private AppealService appealService;
 
@@ -79,10 +82,9 @@ public class AppealController extends BaseController {
      */
     @RequestMapping(value = "/resetPwd", method = RequestMethod.POST)
     public ModelMap resetPwd(Appeal appeal, @RequestParam String token, String code, String password) {
-        // 获取申述人
-        SSOToken ssoToken = SSOHelper.getToken(request);
-        UserAccount loginUser = JSON.parseObject(ssoToken.getData(), UserAccount.class);
-        Long submitterUU = loginUser == null ? (Long) request.getSession().getAttribute("userUU") : loginUser.getUserUU();
+        // 获取申述人,将修改的账号作为申述人
+        User user = userService.findByMobile(appeal.getMobile());
+        Long submitterUU = user.getUserUU();
 
         // 校验token
         Token existToken = tokenService.findOne(token);
@@ -102,34 +104,39 @@ public class AppealController extends BaseController {
     }
 
     @RequestMapping(value = "/changeAdmin", method = RequestMethod.POST)
-    public ModelMap changeAdmin(Appeal appeal, @RequestParam String token, String code, Userspace userspace) throws Exception {
-        // 校验用户是否登录
-        UserAccount userAccount = SystemSession.getUserAccount();
-        if (userAccount == null) {
-            return error("用户未登录");
-        }
-
+    public ModelMap changeAdmin(Appeal appeal, @RequestParam String token, String code, Userspace userspace) {
         // 校验token
         Token existToken = tokenService.findOne(token);
         if (existToken == null || existToken.isExpired()) {
             return error("验证码已过期,请重新获取");
         }
 
+        // 校验企业信息
+        Userspace checkSpace = userspaceService.findBySpaceName(userspace.getSpaceName());
+        if (checkSpace == null) {
+            return error("该企业未被注册,请确认");
+        }
+
         // TODO 参数空检验
 
         // 校验验证码
         checkMobileCode(token, appeal.getMobile(), code);
 
-        // 保存申述信息
-        appeal.setSubmitterUU(userAccount.getUserUU());
-        appealService.submitChangeAdmin(appeal, userspace, userAccount.getSpaceUU());
+        // 保存申述信息,把新管理员当作申请人
+        User submitter = userService.findByMobile(appeal.getMobile());
+        appeal.setSubmitterUU(submitter.getUserUU());
+        appealService.submitChangeAdmin(appeal, userspace, checkSpace.getSpaceUU());
         return success();
     }
 
     @RequestMapping(value = "/account", method = RequestMethod.POST)
     public ModelMap validAccount(Appeal appeal, String token, String code, String password) {
         // 校验用户是否登录
-        UserAccount userAccount = SystemSession.getUserAccount();
+        SSOToken ssoToken = SSOHelper.getToken(request);
+        if (ssoToken == null) {
+            return error("用户未登录");
+        }
+        UserAccount userAccount = JSON.parseObject(ssoToken.getData(), UserAccount.class);
         if (userAccount == null) {
             return error("用户未登录");
         }

+ 4 - 7
sso-server/src/main/java/com/uas/sso/controller/LoginController.java

@@ -7,10 +7,7 @@ import com.uas.sso.SSOHelper;
 import com.uas.sso.SSOToken;
 import com.uas.sso.common.util.HttpUtil;
 import com.uas.sso.core.Const;
-import com.uas.sso.entity.App;
-import com.uas.sso.entity.User;
-import com.uas.sso.entity.UserAccount;
-import com.uas.sso.entity.UserRecord;
+import com.uas.sso.entity.*;
 import com.uas.sso.service.AppService;
 import com.uas.sso.service.PersonalAccountService;
 import com.uas.sso.service.UserService;
@@ -394,8 +391,8 @@ public class LoginController extends BaseController {
     public ModelMap getPageStyle(@RequestParam(defaultValue = "sso") String appId) {
         App app = appService.findOne(appId);
         App defaultApp = appService.findOne("sso");
-        app = app == null ? defaultApp : app;
-        BeanUtil.copyProperties(app, defaultApp, true);
-        return success(app.getPageStyle());
+        PageStyle pageStyle = app == null ? defaultApp.getPageStyle() : app.getPageStyle();
+        BeanUtil.copyProperties(pageStyle, defaultApp.getPageStyle(), true);
+        return success(defaultApp.getPageStyle());
     }
 }

+ 113 - 4
sso-server/src/main/java/com/uas/sso/controller/UserManagerController.java

@@ -1,13 +1,24 @@
 package com.uas.sso.controller;
 
+import com.uas.account.entity.UserDetail;
+import com.uas.account.support.Page;
+import com.uas.account.util.AccountUtils;
+import com.uas.sso.core.Const;
+import com.uas.sso.core.Status;
+import com.uas.sso.entity.User;
+import com.uas.sso.entity.UserRecord;
+import com.uas.sso.entity.Userspace;
 import com.uas.sso.service.ApplyUserSpaceService;
 import com.uas.sso.service.UserService;
+import com.uas.sso.service.UserspaceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.sql.Timestamp;
+import java.util.List;
+import java.util.Set;
 
 /**
  * 用户信息管理controller
@@ -22,6 +33,9 @@ public class UserManagerController extends BaseController {
     @Autowired
     private UserService userService;
 
+    @Autowired
+    private UserspaceService userspaceService;
+
     @Autowired
     private ApplyUserSpaceService applyUserSpaceService;
 
@@ -114,4 +128,99 @@ public class UserManagerController extends BaseController {
     public ModelMap findApplyInfo(Long userUU, @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "20") int size) {
         return success(applyUserSpaceService.findApplyByUserUU(userUU, page, size));
     }
+
+    /**
+     * 用户解除绑定企业
+     * @param userUU 企业uu号
+     * @param spaceUU 企业uu号
+     * @return
+     */
+    @RequestMapping(params = "_operate=unbind", method = RequestMethod.POST)
+    public ModelMap unbindUserSpace(Long userUU, Long spaceUU) {
+        if (StringUtils.isEmpty(userUU) || StringUtils.isEmpty(spaceUU)) {
+            return error("参数错误");
+        }
+        userService.unbindUserspace(userUU, spaceUU);
+        return success();
+    }
+
+    /**
+     * 接口调用验证密码登录
+     *
+     * <pre>
+     * 这个比较特殊,指定应用可能密码为空,需要借用其他应用的密码来校验
+     * </pre>
+     *
+     * @return
+     */
+    @RequestMapping(params = "_operate=fuzzyCheck")
+    public ModelMap apiFuzzyLogin(User user) {
+        if (null == user || null == user.getPassword()) {
+            return error("参数错误");
+        }
+        if (!StringUtils.isEmpty(user.getMobile())) {
+            User userInfo = userService.findByMobile(user.getMobile());
+            if (userInfo == null) {
+                return error("未找到用户");
+            }
+            // 允许应用在调用该接口前,已经将用户输入的明文加密为密文
+            String encryPwd = user.getPassword().length() >= 32 ? user.getPassword() : userService.getEncryPassword(
+                    Const.ENCRY_FORMAT, user.getPassword(), userInfo.getSalt());
+            if (encryPwd.equals(userInfo.getPassword())) {
+                return success();
+            }
+            return error("密码错误");
+        }
+        return error("请填写手机号");
+    }
+
+    /**
+     * 数据从旧账户中心同步
+     * @return
+     */
+    @RequestMapping(value = "/sync", method = RequestMethod.GET)
+    public ModelMap sync() {
+        try {
+            Page<UserDetail> pUsers = AccountUtils.findAllUserDetail(null, null, 1, 20);
+            for (UserDetail detail : pUsers.getContent()) {
+                User user = new User();
+                UserRecord userRecord = new UserRecord();
+                user.setMobile(detail.getMobile().trim());
+                user.setMobileValidCode((short) Status.AUTHENTICATED.getCode());
+                user.setEmail(detail.getEmail().trim());
+
+                user.setRegisterDate(new Timestamp(System.currentTimeMillis()));
+                user.setVipName(detail.getName());
+                user.setUserRecord(userRecord);
+                userRecord.setLastLoginTime(new Timestamp(detail.getLastLoginTime()));
+                userRecord.setUser(user);
+                List<com.uas.account.entity.User> userInfos = AccountUtils.getUserInfoByUid(detail.getMobile());
+                boolean updateB2b = false;
+                for (com.uas.account.entity.User userInfo : userInfos) {
+                    // 设置密码、盐值、uu号
+                    if (userInfo.getAppId().equals("b2b")) {
+                        if (updateB2b) {
+                            continue;
+                        }
+                        if (!StringUtils.isEmpty(userInfo.getDialectUID()) && !StringUtils.isEmpty(userInfo.getSalt()) && !StringUtils.isEmpty(userInfo.getPassword())) {
+                            user.setUserUU(Long.parseLong(userInfo.getDialectUID()));
+                            user.setPassword(userInfo.getPassword());
+                            user.setSalt(userInfo.getSalt());
+                            updateB2b = true;
+                        }
+                    }
+                    // 设置imId
+                    if (StringUtils.isEmpty(user.getImId()) && userInfo.getAppId().equals("im")) {
+                        user.setImId(userInfo.getDialectUID());
+                        continue;
+                    }
+                }
+                userService.save(user);
+                
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
 }

+ 113 - 0
sso-server/src/main/java/com/uas/sso/controller/UserspaceManagerController.java

@@ -1,6 +1,10 @@
 package com.uas.sso.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.uas.account.entity.AppCreateInfo;
+import com.uas.sso.entity.App;
+import com.uas.sso.entity.User;
 import com.uas.sso.entity.Userspace;
 import com.uas.sso.service.ApplyUserSpaceService;
 import com.uas.sso.service.UserspaceService;
@@ -13,6 +17,9 @@ import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.UnsupportedEncodingException;
+import java.util.List;
+
 /**
  * 企业信息管理controller
  *
@@ -185,4 +192,110 @@ public class UserspaceManagerController extends BaseController {
         userspaceService.bindApp(spaceUU, appId);
         return success();
     }
+
+
+    /**
+     * 校验企业营业执照
+     *
+     * @param businessCode 营业执照号
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    @RequestMapping(params = "_operate=validBusinessCode", method = RequestMethod.GET)
+    public AppCreateInfo validBusinessCode(String businessCode) throws UnsupportedEncodingException {
+        // 去掉可能存在的空格再进行检验
+        businessCode = StringUtils.trimAllWhitespace(businessCode);
+        AppCreateInfo info = new AppCreateInfo();
+        info.setHasCreate(false);
+        info.setInCloud(false);
+        if (!StringUtils.isEmpty(businessCode)) {
+            Userspace userspace = userspaceService.findByBusinessCode(businessCode);
+            if (null != userspace && userspace.getApps() != null) {
+                for (App app : userspace.getApps()) {
+                    // 是否注册过saas
+                    if (app.getUid().equals("saas")) {
+                        info.setHasCreate(true);
+                        continue;
+                    }
+                    // 是否注册过uas
+                    if (app.getUid().equals("uas")) {
+                        info.setHasCreate(true);
+                        continue;
+                    }
+                    // 是否注册过平台
+                    if (app.getUid().equals("b2b")) {
+                        info.setInCloud(true);
+                        info.setName(userspace.getSpaceName());
+                        continue;
+                    }
+                }
+            }
+        }
+        return info;
+    }
+
+    /**
+     * 校验企业名称
+     *
+     * @param name
+     * @return
+     */
+    @RequestMapping(params = "_operate=validName", method = RequestMethod.GET)
+    public AppCreateInfo validName(String name) {
+        // 去掉可能存在的空格再进行检验
+        name = StringUtils.trimAllWhitespace(name);
+        AppCreateInfo info = new AppCreateInfo();
+        info.setHasCreate(false);
+        info.setInCloud(false);
+        if (!StringUtils.isEmpty(name)) {
+            Userspace userspace = userspaceService.findBySpaceName(name);
+            if (null != userspace && userspace.getApps() != null) {
+                for (App app : userspace.getApps()) {
+                    // 是否注册过saas
+                    if (app.getUid().equals("saas")) {
+                        info.setHasCreate(true);
+                        continue;
+                    }
+                    // 是否注册过uas
+                    if (app.getUid().equals("uas")) {
+                        info.setHasCreate(true);
+                        continue;
+                    }
+                    // 是否注册过平台
+                    if (app.getUid().equals("b2b")) {
+                        info.setInCloud(true);
+                        info.setBusinessCode(userspace.getBusinessCode());
+                        continue;
+                    }
+                }
+            }
+        }
+        return info;
+    }
+
+    /**
+     * ERP、SAAS新开账套注册平台
+     *
+     * @param detail
+     * @param userInfos
+     */
+    @RequestMapping(params = "_operate=registerBranchAccount", method = RequestMethod.POST)
+    public AppCreateInfo applyApp(String detail, String userInfos) {
+        AppCreateInfo info = new AppCreateInfo();
+
+        // 获取接收到的信息
+        List<User> users = JSON.parseArray(userInfos, User.class);
+        Userspace userspace = JSONObject.parseObject(detail, Userspace.class);
+
+        // 企业注册
+        userspace = userspaceService.register(userspace, userspace.getAdmin());
+
+        // 将用户绑定绑定到注册企业
+        userspaceService.addUser(userspace, users);
+
+        // 注册完后查询uu号等信息
+        info.setInCloud(true);
+        info.setEnuu(userspace.getSpaceUU() + "");
+        return info;
+    }
 }

+ 3 - 1
sso-server/src/main/java/com/uas/sso/controller/YunCenterController.java

@@ -55,7 +55,9 @@ public class YunCenterController extends BaseController {
         User user = userService.findOne(userAccount.getUserUU());
         user.setSalt(null);
         user.setPassword(null);
-        data.put("user", new ModelMap().addAllAttributes(JSONObject.parseObject(JSONObject.toJSONString(user))).addAttribute("hasQuestion", !CollectionUtils.isEmpty(user.getQuestions())));
+        data.put("user", new ModelMap().addAllAttributes(JSONObject.parseObject(JSONObject.toJSONString(user)))
+                .addAttribute("hasQuestion", !CollectionUtils.isEmpty(user.getQuestions()))
+                .addAttribute("lastLoginTime", user.getUserRecord().getLastLoginTime()));
         if (userAccount.getSpaceUU() != null) {
             Userspace userspace = userspaceService.findOne(userAccount.getSpaceUU());
             data.put("userspace", userspace);

+ 14 - 0
sso-server/src/main/java/com/uas/sso/entity/User.java

@@ -62,6 +62,12 @@ public class User implements Serializable {
     @Column(name = "_password", nullable = false)
     private String password;
 
+    /**
+     * 用户密码
+     */
+    @Column(name = "password_level", nullable = false)
+    private int passwordLevel = 2;
+
     /**
      * 用户erp密码
      */
@@ -255,6 +261,14 @@ public class User implements Serializable {
         this.password = password;
     }
 
+    public int getPasswordLevel() {
+        return passwordLevel;
+    }
+
+    public void setPasswordLevel(int passwordLevel) {
+        this.passwordLevel = passwordLevel;
+    }
+
     public String getErpPassword() {
         return erpPassword;
     }

+ 8 - 1
sso-server/src/main/java/com/uas/sso/service/UserspaceService.java

@@ -17,7 +17,7 @@ import java.util.Set;
 public interface UserspaceService {
 
     /**
-     * 企业注册
+     * 企业注册,并开通默认应用
      * @param userspace 企业信息
      * @param admin 管理员信息
      * @return 注册后的企业信息
@@ -119,4 +119,11 @@ public interface UserspaceService {
      * @return
      */
      Userspace findByBusinessCode(String businessCode);
+
+    /**
+     * 向企业添加用户
+     * @param userspace 企业信息
+     * @param users 用户信息
+     */
+    void addUser(Userspace userspace, List<User> users);
 }

+ 6 - 0
sso-server/src/main/java/com/uas/sso/service/impl/UserspaceServiceImpl.java

@@ -283,4 +283,10 @@ public class UserspaceServiceImpl implements UserspaceService {
     public Userspace findByBusinessCode(String businessCode) {
         return userspaceDao.findByBusinessCode(businessCode);
     }
+
+    @Override
+    public void addUser(Userspace userspace, List<User> users) {
+        userspace.getUsers().addAll(users);
+        userspaceDao.save(userspace);
+    }
 }

+ 3 - 1
sso-server/src/main/resources/dev/account.properties

@@ -10,4 +10,6 @@ sso.login.url=http://192.168.253.12:32323/
 ### crossdomain verify
 sso.authcookie.secretkey=Z318866alN6gA0piuO
 sso.center.public_key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL2g7CEfuPZtEDy7Iz5AL6iwbHZewWGUBYUWxKnFAwAW4lY8mMavn5Ke5mB25eKj5bvUsB48r8gWTvJNsKRGEw8CAwEAAQ==
-sso.center.private_key=MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvaDsIR+49m0QPLsjPkAvqLBsdl7BYZQFhRbEqcUDABbiVjyYxq+fkp7mYHbl4qPlu9SwHjyvyBZO8k2wpEYTDwIDAQABAj9Ts7SG6nm6TGneZLwpvitLSpSVqz2w1KWbGXG1fkDUyIJbNbyLmFTNAlfAgM4eC3EzVHVC3FrC+5sl4Fwn2PECIQDn9zz0xFmSQt8csMhu7jyh4UNDA3P11C9AkzaLykYNtwIhANFGtu9TJH2wZNfSA0qBNCgcyJJHXx59VTtih0R+6SVpAiEAmknpwoiDZ3SRQF0ZxCc0LxxNB9rZG475qwMACfUNqXsCIQCWLpAjSWA7jrWfp8fS1MvQKW/KgcuB/uGGf1uhTQ4VWQIhAJ6xJuj+eJAV2gsRDDjNSkD+Jm4qNaZ5ec/XnM7w2YcZ
+sso.center.private_key=MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvaDsIR+49m0QPLsjPkAvqLBsdl7BYZQFhRbEqcUDABbiVjyYxq+fkp7mYHbl4qPlu9SwHjyvyBZO8k2wpEYTDwIDAQABAj9Ts7SG6nm6TGneZLwpvitLSpSVqz2w1KWbGXG1fkDUyIJbNbyLmFTNAlfAgM4eC3EzVHVC3FrC+5sl4Fwn2PECIQDn9zz0xFmSQt8csMhu7jyh4UNDA3P11C9AkzaLykYNtwIhANFGtu9TJH2wZNfSA0qBNCgcyJJHXx59VTtih0R+6SVpAiEAmknpwoiDZ3SRQF0ZxCc0LxxNB9rZG475qwMACfUNqXsCIQCWLpAjSWA7jrWfp8fS1MvQKW/KgcuB/uGGf1uhTQ4VWQIhAJ6xJuj+eJAV2gsRDDjNSkD+Jm4qNaZ5ec/XnM7w2YcZ
+
+account.user.save.url=http://192.168.253.66:8080/api/user

+ 3 - 1
sso-server/src/main/resources/prod/account.properties

@@ -10,4 +10,6 @@ sso.proxy.uri=http://192.168.253.118:3001/
 ### crossdomain verify
 sso.authcookie.secretkey=Z318866alN6gA0piuO
 sso.center.public_key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL2g7CEfuPZtEDy7Iz5AL6iwbHZewWGUBYUWxKnFAwAW4lY8mMavn5Ke5mB25eKj5bvUsB48r8gWTvJNsKRGEw8CAwEAAQ==
-sso.center.private_key=MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvaDsIR+49m0QPLsjPkAvqLBsdl7BYZQFhRbEqcUDABbiVjyYxq+fkp7mYHbl4qPlu9SwHjyvyBZO8k2wpEYTDwIDAQABAj9Ts7SG6nm6TGneZLwpvitLSpSVqz2w1KWbGXG1fkDUyIJbNbyLmFTNAlfAgM4eC3EzVHVC3FrC+5sl4Fwn2PECIQDn9zz0xFmSQt8csMhu7jyh4UNDA3P11C9AkzaLykYNtwIhANFGtu9TJH2wZNfSA0qBNCgcyJJHXx59VTtih0R+6SVpAiEAmknpwoiDZ3SRQF0ZxCc0LxxNB9rZG475qwMACfUNqXsCIQCWLpAjSWA7jrWfp8fS1MvQKW/KgcuB/uGGf1uhTQ4VWQIhAJ6xJuj+eJAV2gsRDDjNSkD+Jm4qNaZ5ec/XnM7w2YcZ
+sso.center.private_key=MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvaDsIR+49m0QPLsjPkAvqLBsdl7BYZQFhRbEqcUDABbiVjyYxq+fkp7mYHbl4qPlu9SwHjyvyBZO8k2wpEYTDwIDAQABAj9Ts7SG6nm6TGneZLwpvitLSpSVqz2w1KWbGXG1fkDUyIJbNbyLmFTNAlfAgM4eC3EzVHVC3FrC+5sl4Fwn2PECIQDn9zz0xFmSQt8csMhu7jyh4UNDA3P11C9AkzaLykYNtwIhANFGtu9TJH2wZNfSA0qBNCgcyJJHXx59VTtih0R+6SVpAiEAmknpwoiDZ3SRQF0ZxCc0LxxNB9rZG475qwMACfUNqXsCIQCWLpAjSWA7jrWfp8fS1MvQKW/KgcuB/uGGf1uhTQ4VWQIhAJ6xJuj+eJAV2gsRDDjNSkD+Jm4qNaZ5ec/XnM7w2YcZ
+
+account.user.save.url=http://192.168.253.66:8080/api/user

+ 3 - 1
sso-server/src/main/resources/test/account.properties

@@ -10,4 +10,6 @@ sso.proxy.uri=http://192.168.253.118:3001/
 ### crossdomain verify
 sso.authcookie.secretkey=Z318866alN6gA0piuO
 sso.center.public_key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL2g7CEfuPZtEDy7Iz5AL6iwbHZewWGUBYUWxKnFAwAW4lY8mMavn5Ke5mB25eKj5bvUsB48r8gWTvJNsKRGEw8CAwEAAQ==
-sso.center.private_key=MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvaDsIR+49m0QPLsjPkAvqLBsdl7BYZQFhRbEqcUDABbiVjyYxq+fkp7mYHbl4qPlu9SwHjyvyBZO8k2wpEYTDwIDAQABAj9Ts7SG6nm6TGneZLwpvitLSpSVqz2w1KWbGXG1fkDUyIJbNbyLmFTNAlfAgM4eC3EzVHVC3FrC+5sl4Fwn2PECIQDn9zz0xFmSQt8csMhu7jyh4UNDA3P11C9AkzaLykYNtwIhANFGtu9TJH2wZNfSA0qBNCgcyJJHXx59VTtih0R+6SVpAiEAmknpwoiDZ3SRQF0ZxCc0LxxNB9rZG475qwMACfUNqXsCIQCWLpAjSWA7jrWfp8fS1MvQKW/KgcuB/uGGf1uhTQ4VWQIhAJ6xJuj+eJAV2gsRDDjNSkD+Jm4qNaZ5ec/XnM7w2YcZ
+sso.center.private_key=MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvaDsIR+49m0QPLsjPkAvqLBsdl7BYZQFhRbEqcUDABbiVjyYxq+fkp7mYHbl4qPlu9SwHjyvyBZO8k2wpEYTDwIDAQABAj9Ts7SG6nm6TGneZLwpvitLSpSVqz2w1KWbGXG1fkDUyIJbNbyLmFTNAlfAgM4eC3EzVHVC3FrC+5sl4Fwn2PECIQDn9zz0xFmSQt8csMhu7jyh4UNDA3P11C9AkzaLykYNtwIhANFGtu9TJH2wZNfSA0qBNCgcyJJHXx59VTtih0R+6SVpAiEAmknpwoiDZ3SRQF0ZxCc0LxxNB9rZG475qwMACfUNqXsCIQCWLpAjSWA7jrWfp8fS1MvQKW/KgcuB/uGGf1uhTQ4VWQIhAJ6xJuj+eJAV2gsRDDjNSkD+Jm4qNaZ5ec/XnM7w2YcZ
+
+account.user.save.url=http://192.168.253.66:8080/api/user