Commit d547af03 authored by 周健威's avatar 周健威

添加数据中心验证代码

parent 0b174dfc
package com.github.wxiaoqi.security.gate.filter; package com.github.wxiaoqi.security.gate.filter;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -37,6 +38,7 @@ import org.springframework.cloud.gateway.support.ServerWebExchangeUtils; ...@@ -37,6 +38,7 @@ import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.http.HttpCookie;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
...@@ -116,34 +118,42 @@ public class AccessGatewayFilter implements GlobalFilter { ...@@ -116,34 +118,42 @@ public class AccessGatewayFilter implements GlobalFilter {
//判断是否存在 //判断是否存在
SignedJWT signedJWT = null; SignedJWT signedJWT = null;
//根据头部请求token //根据头部请求token
String usercenterResult = HttpUtil.get("https://gdxm.upyuns.com/sign/authz/jwt/rest/78917a82-1c86-4020-b86a-3b1b350357e3"); HttpRequest httpRequest = HttpRequest.get("https://gdxm.upyuns.com/sign/authz/jwt/rest/78917a82-1c86-4020-b86a-3b1b350357e3");
String authToken = null; // String usercenterResult = HttpUtil.get("https://gdxm.upyuns.com/sign/authz/jwt/rest/78917a82-1c86-4020-b86a-3b1b350357e3");
if(usercenterResult.contains("用户用心")) { HttpCookie strings = (HttpCookie) request.getCookies().get("congress");
//退出本地登录
}else { // String authToken = null;
TokenBean tokenBean = JSONUtil.toBean(usercenterResult, TokenBean.class); // if (strings != null) {
try { // authToken = strings.get(0);
signedJWT = SignedJWT.parse(tokenBean.getData()); // }
JWTClaimsSet jwtClaims =signedJWT.getJWTClaimsSet(); // httpRequest.addHeaders("")
//设置登录 // String authToken = null;
// if(usercenterResult.contains("用户用心")) {
IJWTInfo user = null; // //退出本地登录
try { // }else {
authToken = getAuthTokenFromRequest(request); // TokenBean tokenBean = JSONUtil.toBean(usercenterResult, TokenBean.class);
IJWTInfo ijwtInfo = userAuthUtil.getInfoFromToken(authToken); // try {
if(null == ijwtInfo.getName() || !jwtClaims.getSubject().equals(ijwtInfo.getName())) { // signedJWT = SignedJWT.parse(tokenBean.getData());
throw new Exception(); // JWTClaimsSet jwtClaims =signedJWT.getJWTClaimsSet();
} // //设置登录
} catch (Exception e) { //
log.error("未登录,直接登录", e); // IJWTInfo user = null;
ObjectRestResponse<String> restResponseToken = userService.createAuthenticationToken(jwtClaims.getSubject()); // try {
authToken = restResponseToken.getData(); // authToken = getAuthTokenFromRequest(request);
} // IJWTInfo ijwtInfo = userAuthUtil.getInfoFromToken(authToken);
} catch (java.text.ParseException e) { // if(null == ijwtInfo.getName() || !jwtClaims.getSubject().equals(ijwtInfo.getName())) {
log.error(e.getMessage(), e); // throw new Exception();
} // }
} // } catch (Exception e) {
request.getHeaders().set(userAuthConfig.getTokenHeader(), authToken); // log.error("未登录,直接登录", e);
// ObjectRestResponse<String> restResponseToken = userService.createAuthenticationToken(jwtClaims.getSubject());
// authToken = restResponseToken.getData();
// }
// } catch (java.text.ParseException e) {
// log.error(e.getMessage(), e);
// }
// }
// request.getHeaders().set(userAuthConfig.getTokenHeader(), authToken);
// setLogService(serverWebExchange, gatewayFilterChain); // setLogService(serverWebExchange, gatewayFilterChain);
String requestUri = request.getPath().pathWithinApplication().value(); String requestUri = request.getPath().pathWithinApplication().value();
......
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