Browse Source

登录cookie处理

guq 7 years ago
parent
commit
7b6eb8229f

+ 6 - 16
base-servers/auth/auth-server/src/main/java/com/usoftchina/saas/auth/controller/AuthController.java

@@ -219,8 +219,8 @@ public class AuthController {
      * @param info
      * @return
      */
-    @GetMapping("/sso/callback/{clientId}")
-    public void ssoCallback(HttpServletRequest request, HttpServletResponse response,
+    @GetMapping(value = "/sso/callback/{clientId}", produces = {"application/javascript"})
+    public String ssoCallback(HttpServletRequest request, HttpServletResponse response,
                             @PathVariable(required = false) String clientId, CookieInfo info, String callback) throws IOException{
         if (null != info && null != info.getMobile()) {
             AccountDTO accountDTO = null;
@@ -232,7 +232,7 @@ public class AuthController {
                 } else {
                     logger.error(result.getMessage());
                     ServletUtils.writeJsonPMessage(response, callback, false);
-                    return;
+                    return "successCallback({success:'0'})";
                 }
             } else {
                 accountDTO = result.getData();
@@ -243,7 +243,7 @@ public class AuthController {
                     if (!updateResult.isSuccess()) {
                         logger.error(updateResult.getMessage());
                         ServletUtils.writeJsonPMessage(response, callback, false);
-                        return;
+                        return "successCallback({success:'0'})";
                     }
                 }
             }
@@ -253,18 +253,6 @@ public class AuthController {
             authorizeLogService.save(AuthorizeLog.from(request)
                     .setAccountId(accountDTO.getId())
                     .setAppId(appId).build());
-            //将cookies
-            Cookie[] cookies = request.getCookies();
-            Cookie ssoCookies = null;
-            for (Cookie cookie : cookies) {
-                if (cookieConfig.getName().equals(cookie.getName())) {
-                    ssoCookies = cookie;
-                    break;
-                }
-            }
-            if (null != ssoCookies) {
-                response.addCookie(ssoCookies);
-            }
             // 将登录信息推送到客户端
             if (!StringUtils.isEmpty(clientId)) {
                 Long companyId = null;
@@ -276,9 +264,11 @@ public class AuthController {
                 TokenDTO tokenDTO = BeanMapper.map(jwtToken, TokenDTO.class);
                 socketMessageApi.sendToClient(clientId, "/sso/callback",
                         JsonUtils.toJsonString(new AuthDTO(tokenDTO, accountDTO)));
+                return "successCallback({success:'1'})";
             }
             ServletUtils.writeJsonPMessage(response, callback, true);
         }
+        return "successCallback({success:'0'})";
     }
 
     /**