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 {
TokenBean tokenBean = JSONUtil.toBean(usercenterResult, TokenBean.class);
try {
signedJWT = SignedJWT.parse(tokenBean.getData());
JWTClaimsSet jwtClaims =signedJWT.getJWTClaimsSet();
//设置登录
IJWTInfo user = null; // String authToken = null;
try { // if (strings != null) {
authToken = getAuthTokenFromRequest(request); // authToken = strings.get(0);
IJWTInfo ijwtInfo = userAuthUtil.getInfoFromToken(authToken); // }
if(null == ijwtInfo.getName() || !jwtClaims.getSubject().equals(ijwtInfo.getName())) { // httpRequest.addHeaders("")
throw new Exception(); // String authToken = null;
} // if(usercenterResult.contains("用户用心")) {
} catch (Exception e) { // //退出本地登录
log.error("未登录,直接登录", e); // }else {
ObjectRestResponse<String> restResponseToken = userService.createAuthenticationToken(jwtClaims.getSubject()); // TokenBean tokenBean = JSONUtil.toBean(usercenterResult, TokenBean.class);
authToken = restResponseToken.getData(); // try {
} // signedJWT = SignedJWT.parse(tokenBean.getData());
} catch (java.text.ParseException e) { // JWTClaimsSet jwtClaims =signedJWT.getJWTClaimsSet();
log.error(e.getMessage(), e); // //设置登录
} //
} // IJWTInfo user = null;
request.getHeaders().set(userAuthConfig.getTokenHeader(), authToken); // try {
// authToken = getAuthTokenFromRequest(request);
// IJWTInfo ijwtInfo = userAuthUtil.getInfoFromToken(authToken);
// if(null == ijwtInfo.getName() || !jwtClaims.getSubject().equals(ijwtInfo.getName())) {
// throw new Exception();
// }
// } catch (Exception e) {
// 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