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

添加数据中心验证代码

parent 0b174dfc
package com.github.wxiaoqi.security.gate.filter;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
......@@ -37,6 +38,7 @@ import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.http.HttpCookie;
import org.springframework.http.HttpStatus;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.web.bind.annotation.RequestMethod;
......@@ -116,34 +118,42 @@ public class AccessGatewayFilter implements GlobalFilter {
//判断是否存在
SignedJWT signedJWT = null;
//根据头部请求token
String usercenterResult = HttpUtil.get("https://gdxm.upyuns.com/sign/authz/jwt/rest/78917a82-1c86-4020-b86a-3b1b350357e3");
String authToken = null;
if(usercenterResult.contains("用户用心")) {
//退出本地登录
}else {
TokenBean tokenBean = JSONUtil.toBean(usercenterResult, TokenBean.class);
try {
signedJWT = SignedJWT.parse(tokenBean.getData());
JWTClaimsSet jwtClaims =signedJWT.getJWTClaimsSet();
//设置登录
IJWTInfo user = null;
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);
HttpRequest httpRequest = HttpRequest.get("https://gdxm.upyuns.com/sign/authz/jwt/rest/78917a82-1c86-4020-b86a-3b1b350357e3");
// String usercenterResult = HttpUtil.get("https://gdxm.upyuns.com/sign/authz/jwt/rest/78917a82-1c86-4020-b86a-3b1b350357e3");
HttpCookie strings = (HttpCookie) request.getCookies().get("congress");
// String authToken = null;
// if (strings != null) {
// authToken = strings.get(0);
// }
// httpRequest.addHeaders("")
// String authToken = null;
// if(usercenterResult.contains("用户用心")) {
// //退出本地登录
// }else {
// TokenBean tokenBean = JSONUtil.toBean(usercenterResult, TokenBean.class);
// try {
// signedJWT = SignedJWT.parse(tokenBean.getData());
// JWTClaimsSet jwtClaims =signedJWT.getJWTClaimsSet();
// //设置登录
//
// IJWTInfo user = null;
// 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);
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