Commit 3c19c2de by 墨竹

feat:企微安全改造修改

parent 4cb3cfb2
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.source>1.8</maven.compiler.source>
<libraryVersion>3.0-SNAPSHOT</libraryVersion> <libraryVersion>3.0-SNAPSHOT</libraryVersion>
<jwt.version>3.18.2</jwt.version>
</properties> </properties>
<distributionManagement> <distributionManagement>
<repository> <repository>
...@@ -50,6 +51,11 @@ ...@@ -50,6 +51,11 @@
<artifactId>haoban-base-api</artifactId> <artifactId>haoban-base-api</artifactId>
<version>${haoban-base-api}</version> <version>${haoban-base-api}</version>
</dependency> </dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>${jwt.version}</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -142,7 +142,7 @@ public interface ExternalClerkRelatedApiService { ...@@ -142,7 +142,7 @@ public interface ExternalClerkRelatedApiService {
/** /**
* gic删除会员,解除好办与gic关联关系 * gic删除会员,解除好办与gic关联关系
* *
* @param memberId 会员ID * @param memberId 会员ID
* @param enterpriseId 企业标识 * @param enterpriseId 企业标识
* @param mergeMemberId 合并后的会员ID 删除传null, * @param mergeMemberId 合并后的会员ID 删除传null,
* @author mozhu * @author mozhu
......
package com.gic.haoban.manage.api.utils;
import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTCreator;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.Claim;
import com.auth0.jwt.interfaces.DecodedJWT;
import com.sun.org.slf4j.internal.Logger;
import com.sun.org.slf4j.internal.LoggerFactory;
import java.util.HashMap;
import java.util.Map;
/**
* 生成token
*
* @author mozhu
* @date 2021-12-10 14:53:34
*/
public class JwtUtil {
/**
* 密钥 base64加密过的
*/
public static final String SECRET_KEY = "Wb9^vZBjaYiFyhj@dDv!2FXSeEWxJauW";
/**
* 发行人
*/
public static final String ISSUER = "gic_haoban";
private static final Logger logger = LoggerFactory.getLogger(JwtUtil.class);
/**
* 生成token
*
* @param claims
* @return
*/
public static String genToken(Map<String, String> claims) {
//使用HMAC256进行加密
Algorithm algorithm = Algorithm.HMAC256(SECRET_KEY);
//创建jwt
JWTCreator.Builder builder = JWT.create().withIssuer(ISSUER);
//传入参数
claims.forEach(builder::withClaim);
//签名加密
return builder.sign(algorithm);
}
/**
* 解密token
*
* @param token
* @return
* @throws RuntimeException
*/
public static Map<String, String> parseToken(String token) {
Algorithm algorithm = null;
try {
//使用HMAC256进行加密
algorithm = Algorithm.HMAC256(SECRET_KEY);
} catch (IllegalArgumentException e) {
logger.error("解密jwt失败:{}", e.getMessage(), e);
return null;
}
//解密
JWTVerifier verifier = JWT.require(algorithm).withIssuer(ISSUER).build();
DecodedJWT jwt = verifier.verify(token);
Map<String, Claim> map = jwt.getClaims();
Map<String, String> resultMap = new HashMap<>();
map.forEach((k, v) -> resultMap.put(k, v.asString()));
return resultMap;
}
}
...@@ -559,9 +559,9 @@ ...@@ -559,9 +559,9 @@
UPDATE UPDATE
tab_haoban_external_clerk_related tab_haoban_external_clerk_related
SET member_id=#{memberId}, SET member_id=#{memberId},
status_flag = 1,
update_time = now() update_time = now()
where member_id = #{oldMemberId} where member_id = #{oldMemberId}
and status_flag = 1
</update> </update>
<update id="updateStatusByMemberId"> <update id="updateStatusByMemberId">
......
...@@ -19,6 +19,7 @@ import com.gic.haoban.manage.api.enums.SecretTypeEnum; ...@@ -19,6 +19,7 @@ import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.*; import com.gic.haoban.manage.api.service.*;
import com.gic.haoban.manage.web.config.Config; import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.ClerkLoginQO;
import com.gic.haoban.manage.web.qo.GetUserByMemberCodeQo; import com.gic.haoban.manage.web.qo.GetUserByMemberCodeQo;
import com.gic.haoban.manage.web.qo.MemberLoginQo; import com.gic.haoban.manage.web.qo.MemberLoginQo;
import com.gic.haoban.manage.web.vo.AppStaffVo; import com.gic.haoban.manage.web.vo.AppStaffVo;
...@@ -34,6 +35,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -34,6 +35,7 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -159,11 +161,13 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -159,11 +161,13 @@ public class WxEnterpriseInfoController extends WebBaseController {
/** /**
* 好办小程序-登陆 * 好办小程序-登陆
* *
* @return * @param clerkLoginQO 登录QO
* @return {@link HaobanResponse }
* @author mozhu
* @date 2021-12-10 15:56:13
*/ */
@RequestMapping("welldone-login") @RequestMapping(value = "welldone-login", method = RequestMethod.POST)
public HaobanResponse welldoneLogin() { public HaobanResponse welldoneLogin(@RequestBody ClerkLoginQO clerkLoginQO) {
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
......
package com.gic.haoban.manage.web.qo;
import java.io.Serializable;
/**
* 员工登录
*
* @author mozhu
* @date 2021/12/10 15:00
*/
public class ClerkLoginQO implements Serializable {
private static final long serialVersionUID = -170574390217887304L;
/**
* 电话号码
*/
private String phoneNumber;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment