rain
2024-06-14 8d9a2d656e4ae007590c622e5f7c228adacdca49
src/main/java/com/dji/sample/component/websocket/config/AuthPrincipalHandler.java
@@ -15,7 +15,6 @@
import java.security.Principal;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
/**
 * @author sean.zhou
@@ -32,6 +31,7 @@
        if (request instanceof ServletServerHttpRequest) {
            HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest();
            String token = servletRequest.getParameter(AuthInterceptor.PARAM_TOKEN);
            String workspaceId = servletRequest.getParameter(AuthInterceptor.WORKSPACE_ID);
            if (!StringUtils.hasText(token)) {
                return false;
@@ -43,6 +43,7 @@
            }
            servletRequest.setAttribute(AuthInterceptor.TOKEN_CLAIM, customClaim.get());
            servletRequest.setAttribute(AuthInterceptor.WORKSPACE_ID, workspaceId);
            return true;
        }
        return false;
@@ -64,7 +65,10 @@
            CustomClaim claim = (CustomClaim) ((ServletServerHttpRequest) request).getServletRequest()
                    .getAttribute(AuthInterceptor.TOKEN_CLAIM);
            return () -> UUID.randomUUID().toString() + "/" + claim.getUserType() + "/" + claim.getId();
            String workspaceId = (String) ((ServletServerHttpRequest) request).getServletRequest()
                    .getAttribute(AuthInterceptor.WORKSPACE_ID);
            return () -> workspaceId + "/" + claim.getUserType() + "/" + claim.getId();
        }
        return () -> null;
    }