|
|
@@ -3,11 +3,9 @@ package com.steerinfo.util;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import javax.annotation.Resource;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@@ -19,37 +17,12 @@ import java.util.Map;
|
|
|
@Component
|
|
|
public class SSOUtil {
|
|
|
|
|
|
-
|
|
|
- // ② 改为静态字段,用于保存配置值(所有实例共享)
|
|
|
- private static String url;
|
|
|
- private static String appuser;
|
|
|
- private static String password;
|
|
|
-
|
|
|
- // ③ 通过 setter 注入,赋值给静态变量(注意方法不能是 static)
|
|
|
- @Value("${sso.url}")
|
|
|
- public void setUrl(String url) {
|
|
|
- SSOUtil.url = url;
|
|
|
- }
|
|
|
-
|
|
|
- @Value("${sso.appuser}")
|
|
|
- public void setAppuser(String appuser) {
|
|
|
- SSOUtil.appuser = appuser;
|
|
|
- }
|
|
|
-
|
|
|
- @Value("${sso.password}")
|
|
|
- public void setPassword(String password) {
|
|
|
- SSOUtil.password = password;
|
|
|
- }
|
|
|
-
|
|
|
- // ④ 提供静态 getter(可选,用于外部读取)
|
|
|
- public static String getUrl() { return url; }
|
|
|
- public static String getAppuser() { return appuser; }
|
|
|
- public static String getPassword() { return password; }
|
|
|
-
|
|
|
// sso注册用户
|
|
|
public HashMap ssoRegister(HashMap params) throws Exception {
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
|
|
|
|
+ String ssoUrl = Configuration.readConfigString("sso.url", "application");
|
|
|
+
|
|
|
// *将司机注册sso账户*
|
|
|
// 使用默认账号登录sso
|
|
|
String accessToken = ssoDefaultLogin();
|
|
|
@@ -69,7 +42,7 @@ public class SSOUtil {
|
|
|
userMap.put("companyId", "713710108567277568");
|
|
|
userMap.put("orgId", "925357747573231616");
|
|
|
userMap.put("loginStatus", "1");
|
|
|
- String ssomsg2 = HttpsRequest.sendPost(url + "/v1/sysusers/", userMap, accessToken);
|
|
|
+ String ssomsg2 = HttpsRequest.sendPost(ssoUrl + "/v1/sysusers/", userMap, accessToken);
|
|
|
|
|
|
JSONObject jsonObject2 = JSONObject.parseObject(ssomsg2);
|
|
|
|
|
|
@@ -85,7 +58,7 @@ public class SSOUtil {
|
|
|
pwdMap.put("againNewpassword", params.get("password").toString());
|
|
|
|
|
|
// 修改用户密码
|
|
|
- String ssomsg3 = HttpsRequest.sendPost(url + "/v1/sysusers/updpsw", pwdMap, accessToken);
|
|
|
+ String ssomsg3 = HttpsRequest.sendPost(ssoUrl + "/v1/sysusers/updpsw", pwdMap, accessToken);
|
|
|
|
|
|
JSONObject jsonObject3 = JSONObject.parseObject(ssomsg3);
|
|
|
|
|
|
@@ -122,6 +95,7 @@ public class SSOUtil {
|
|
|
*/
|
|
|
public String ssoUpdate(String id, HashMap params, String accessToken) throws Exception {
|
|
|
String msg = "";
|
|
|
+ String ssoUrl = Configuration.readConfigString("sso.url", "application");
|
|
|
|
|
|
// 不传token时,自行获取默认账户的token
|
|
|
if(StringUtils.isEmpty(accessToken)){
|
|
|
@@ -129,7 +103,7 @@ public class SSOUtil {
|
|
|
}
|
|
|
|
|
|
// 修改用户密码
|
|
|
- String ssomsg3 = HttpsRequest.sendPost(url + "/v1/sysusers/updateUser/"+id, params, accessToken);
|
|
|
+ String ssomsg3 = HttpsRequest.sendPost(ssoUrl + "/v1/sysusers/updateUser/"+id, params, accessToken);
|
|
|
|
|
|
JSONObject jsonObject = JSONObject.parseObject(ssomsg3);
|
|
|
|
|
|
@@ -147,14 +121,14 @@ public class SSOUtil {
|
|
|
* @return
|
|
|
*/
|
|
|
public String ssoDeleter(String id, String accessToken) throws Exception {
|
|
|
-
|
|
|
+ String ssoUrl = Configuration.readConfigString("sso.url", "application");
|
|
|
|
|
|
// 不传token时,自行获取默认账户的token
|
|
|
if(StringUtils.isEmpty(accessToken)){
|
|
|
accessToken = ssoDefaultLogin();
|
|
|
}
|
|
|
|
|
|
- String ssomsg4 = HttpsRequest.sendDelete(url + "/v1/sysusers/"+id, accessToken);
|
|
|
+ String ssomsg4 = HttpsRequest.sendDelete(ssoUrl + "/v1/sysusers/"+id, accessToken);
|
|
|
|
|
|
JSONObject jsonObject = JSONObject.parseObject(ssomsg4);
|
|
|
|
|
|
@@ -166,18 +140,21 @@ public class SSOUtil {
|
|
|
* @return
|
|
|
*/
|
|
|
public String ssoDefaultLogin() throws Exception {
|
|
|
+ String ssoUrl = Configuration.readConfigString("sso.url", "application");
|
|
|
+ String ssoPassword = Configuration.readConfigString("sso.password", "application");
|
|
|
+ String ssoAppUser = Configuration.readConfigString("sso.appuser", "application");
|
|
|
// 使用默认账号登录sso
|
|
|
// 默认账户密码加密
|
|
|
- String shaPass = SHAUtil.shaEncode(password);
|
|
|
+ String shaPass = SHAUtil.shaEncode(ssoPassword);
|
|
|
// 获取sso token
|
|
|
// https://jgwzjl.jiugang.com/icore.icp.web/pass/auth/login post请求, 参数类型content-type: application/x-www-form-urlencoded
|
|
|
// loginName=admin&password=fb94871a1c3c7c38330a3a434a0ee28f0deea30b&app_code=web
|
|
|
Map<String, String> loginMap = new HashMap<>();
|
|
|
- loginMap.put("loginName", appuser);
|
|
|
+ loginMap.put("loginName", ssoAppUser);
|
|
|
loginMap.put("password", shaPass);
|
|
|
|
|
|
|
|
|
- String ssomsg1 = HttpsRequest.sendPost(url + "/auth/login", loginMap);
|
|
|
+ String ssomsg1 = HttpsRequest.sendPost(ssoUrl + "/auth/login", loginMap);
|
|
|
// ssomsg1转JSONObject
|
|
|
JSONObject jsonObject1 = JSONObject.parseObject(ssomsg1);
|
|
|
//如果成功,读取accessToken
|
|
|
@@ -197,6 +174,7 @@ public class SSOUtil {
|
|
|
* @return
|
|
|
*/
|
|
|
public HashMap ssoLogin(HashMap params, String accessToken) throws Exception {
|
|
|
+ String ssoUrl = Configuration.readConfigString("sso.url", "application");
|
|
|
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
|
|
|
|
@@ -213,7 +191,7 @@ public class SSOUtil {
|
|
|
loginMap.put("loginName", params.get("carNo").toString());
|
|
|
loginMap.put("password", shaPass);
|
|
|
|
|
|
- String ssomsg1 = HttpsRequest.sendPost(url + "/auth/login", loginMap);
|
|
|
+ String ssomsg1 = HttpsRequest.sendPost(ssoUrl + "/auth/login", loginMap);
|
|
|
// ssomsg1转JSONObject
|
|
|
JSONObject jsonObject1 = JSONObject.parseObject(ssomsg1);
|
|
|
|
|
|
@@ -236,6 +214,7 @@ public class SSOUtil {
|
|
|
* @return
|
|
|
*/
|
|
|
public HashMap ssoChangePwd(HashMap params) throws Exception {
|
|
|
+ String ssoUrl = Configuration.readConfigString("sso.url", "application");
|
|
|
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
|
|
|
|
@@ -247,7 +226,7 @@ public class SSOUtil {
|
|
|
loginMap.put("loginName", params.get("carNo").toString());
|
|
|
loginMap.put("password", shaPass);
|
|
|
|
|
|
- String ssomsg1 = HttpsRequest.sendPost(url + "/auth/login", loginMap);
|
|
|
+ String ssomsg1 = HttpsRequest.sendPost(ssoUrl + "/auth/login", loginMap);
|
|
|
// ssomsg1转JSONObject
|
|
|
JSONObject jsonObject1 = JSONObject.parseObject(ssomsg1);
|
|
|
//如果成功,读取accessToken
|
|
|
@@ -267,7 +246,7 @@ public class SSOUtil {
|
|
|
pwdMap.put("againNewpassword", params.get("newpassword").toString());
|
|
|
|
|
|
// 修改用户密码
|
|
|
- String ssomsg3 = HttpsRequest.sendPost(url + "/v1/sysusers/updpsw", pwdMap, accessToken);
|
|
|
+ String ssomsg3 = HttpsRequest.sendPost(ssoUrl + "/v1/sysusers/updpsw", pwdMap, accessToken);
|
|
|
|
|
|
JSONObject jsonObject3 = JSONObject.parseObject(ssomsg3);
|
|
|
|
|
|
@@ -294,6 +273,8 @@ public class SSOUtil {
|
|
|
*/
|
|
|
public String ssoResetPwd(String id, String password, String accessToken) throws Exception {
|
|
|
String msg = "";
|
|
|
+ String ssoUrl = Configuration.readConfigString("sso.url", "application");
|
|
|
+
|
|
|
// 不传token时,自行获取默认账户的token
|
|
|
if(StringUtils.isEmpty(accessToken)){
|
|
|
accessToken = ssoDefaultLogin();
|
|
|
@@ -302,7 +283,7 @@ public class SSOUtil {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
map.put("password", password);
|
|
|
|
|
|
- String ssomsg4 = HttpsRequest.sendPut(url + "/v1/sysusers/resetPassword/"+id, map, accessToken);
|
|
|
+ String ssomsg4 = HttpsRequest.sendPut(ssoUrl + "/v1/sysusers/resetPassword/"+id, map, accessToken);
|
|
|
|
|
|
JSONObject jsonObject2 = JSONObject.parseObject(ssomsg4);
|
|
|
|
|
|
@@ -328,11 +309,11 @@ public class SSOUtil {
|
|
|
// */
|
|
|
// public HashMap ssoSelect(String carNo) throws Exception {
|
|
|
//
|
|
|
-// String url = Configuration.readConfigString("sso.url", "application");
|
|
|
+// String ssoUrl = Configuration.readConfigString("sso.url", "application");
|
|
|
//
|
|
|
// String accessToken = ssoDefaultLogin();
|
|
|
//
|
|
|
-// String ssomsg = HttpsRequest.sendPut(url + "/v1/sysusers/getUsersByOrgCode/?userCode="+carNo+"&pageNum=1&pageSize=20", null, accessToken);
|
|
|
+// String ssomsg = HttpsRequest.sendPut(ssoUrl + "/v1/sysusers/getUsersByOrgCode/?userCode="+carNo+"&pageNum=1&pageSize=20", null, accessToken);
|
|
|
//
|
|
|
// JSONObject jsonObject = JSONObject.parseObject(ssomsg);
|
|
|
//
|
|
|
@@ -342,4 +323,4 @@ public class SSOUtil {
|
|
|
//
|
|
|
// return map;
|
|
|
// }
|
|
|
-}
|
|
|
+}
|