Эх сурвалжийг харах

mall-portal添加刷新token

macro 5 жил өмнө
parent
commit
696e1a8055

+ 19 - 0
mall-portal/src/main/java/com/macro/mall/portal/controller/UmsMemberController.java

@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -23,6 +24,8 @@ import java.util.Map;
 @Api(tags = "UmsMemberController", description = "会员登录注册管理")
 @RequestMapping("/sso")
 public class UmsMemberController {
+    @Value("${jwt.tokenHeader}")
+    private String tokenHeader;
     @Value("${jwt.tokenHead}")
     private String tokenHead;
     @Autowired
@@ -68,4 +71,20 @@ public class UmsMemberController {
                                  @RequestParam String authCode) {
         return memberService.updatePassword(telephone,password,authCode);
     }
+
+
+    @ApiOperation(value = "刷新token")
+    @RequestMapping(value = "/refreshToken", method = RequestMethod.GET)
+    @ResponseBody
+    public CommonResult refreshToken(HttpServletRequest request) {
+        String token = request.getHeader(tokenHeader);
+        String refreshToken = memberService.refreshToken(token);
+        if (refreshToken == null) {
+            return CommonResult.failed("token已经过期!");
+        }
+        Map<String, String> tokenMap = new HashMap<>();
+        tokenMap.put("token", refreshToken);
+        tokenMap.put("tokenHead", tokenHead);
+        return CommonResult.success(tokenMap);
+    }
 }

+ 5 - 0
mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberService.java

@@ -57,4 +57,9 @@ public interface UmsMemberService {
      * 登录后获取token
      */
     String login(String username, String password);
+
+    /**
+     * 刷新token
+     */
+    String refreshToken(String token);
 }

+ 5 - 0
mall-portal/src/main/java/com/macro/mall/portal/service/impl/UmsMemberServiceImpl.java

@@ -177,6 +177,11 @@ public class UmsMemberServiceImpl implements UmsMemberService {
         return token;
     }
 
+    @Override
+    public String refreshToken(String token) {
+        return jwtTokenUtil.refreshHeadToken(token);
+    }
+
     //对输入的验证码进行校验
     private boolean verifyAuthCode(String authCode, String telephone){
         if(StringUtils.isEmpty(authCode)){