From 6ef0aa13f4f50d1966e6862c1d02ec8fc1d4f587 Mon Sep 17 00:00:00 2001 From: "LAPTOP-SB56SG4Q\\86185" Date: Mon, 21 Mar 2022 19:03:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=BC=80=E6=BA=90=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=9D=90=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JSD-8061需求确认书.docx | Bin 0 -> 54298 bytes README.md | 5 +- lib/finekit-10.0.jar | Bin 0 -> 194150 bytes plugin.xml | 17 + .../fr/plugin/third/party/jsdiagb/Utils.java | 134 +++++ .../jsdiagb/config/CustomDataConfig.java | 164 +++++++ .../config/DataConfigInitializeMonitor.java | 24 + .../party/jsdiagb/http/CustomUserInfo.java | 53 ++ .../SessionGlobalRequestFilterProvider.java | 464 ++++++++++++++++++ 9 files changed, 860 insertions(+), 1 deletion(-) create mode 100644 JSD-8061需求确认书.docx create mode 100644 lib/finekit-10.0.jar create mode 100644 plugin.xml create mode 100644 src/main/java/com/fr/plugin/third/party/jsdiagb/Utils.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdiagb/config/CustomDataConfig.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdiagb/config/DataConfigInitializeMonitor.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdiagb/http/CustomUserInfo.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdiagb/http/SessionGlobalRequestFilterProvider.java diff --git a/JSD-8061需求确认书.docx b/JSD-8061需求确认书.docx new file mode 100644 index 0000000000000000000000000000000000000000..5e94d8e72a79666e13e0b5acb24b5b943a0b878d GIT binary patch literal 54298 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
    ug z05Ds}@^x`_PAnHQ7UpkbHjh>(HuB@H71nE9#>u`OsVeqk=79x_DS2Z5WWf`3Lm94pz1 zQY;}%IoR51y6V~&H#y*X(~&b5^qyuP)+2el^HeofySR$VETO1#v%OIiS3svAs0}wp2)XnGaVp`dQW7;H%p9F^tV{ zCGJ4744i$uUzu)>FP3QuaSav}P4i}P{`qNjlcXYTN(5!cILZO|$!sOoPEl7RYvx;) z`r4-iw^PIL5^ebvoD20NtD4a+J@WCcpFCZlHgO}#{t|u}j&rZzlGqT1fblc`ZL_#i z2M?|1d~zo!Qex%D9S^V=oQztBRZRG8U|vs8?>y@jg7eHJx+EjRE%@;W78(zsNC<7q z+^O7Wm0&{@x#E%}!(waSjJH+cZ8TbyEv@b_*#4kKYZ-_G^9csj^9`LmJdqA2HJ7&* z`zrsi0&$)E4V9QXe}w`hTJ>c=cj^55%)$7w2LluW80T+YNuac7m6Y+$owJyfDjZe2 zG3gRQ)NfkYA7nvZMqP`#E=1Y}@CKNuatu8m%UffWA5E0% zov|;6%s~4$ff%b4HvSHSmgxQJ0yE_D7ppLY4)k!h?bM;EG7QsSTb_!QfdTC?y3$h3Q6E9y3_%EoiQhQ0gGg4fNT%FwXL5@ z_1hr;eD9Y3q0uwH<_66Dk_sE4Cd zfLmUo^$ldQGK_yG?C_gR-~E-oJrp66M}Xi>;f@dn>*V3kTNvm8W1=Tk13B$)s*|++ ztVH$a1A0}0c)BcB;t;K|g}(sI%q^?=FJ$VhzSg-Ks}`N` z9{S>r!%!S5$){2|4M1uLFwB30Rro_Yr2jNhp1e+x5RC-ID1r?`Wk||IT#vtClhb#n zo_^J40BhvNGxPdT;&w8+3!dOc9A+1Fddv}ei{)r_&xV^si^uk!IQmz`|38c9;D5aI zzw15zC!ad;a(Hz9SdssfL*V`o*8f%e@vobMru)JH8K6OTI(E1cH?pSO;Nwo+)KNRb zT6db97@3C571PPzo=|0}s4o~GUcU-AdHXA`Qdbq3XOvjTBcna=M1gpZuNP5~Bci&p zDDwZ1FM1PY-_fS5XZ?^_7kJ43zeTOwGLdPeiRpXSkE&S@JVn;-w0xRyQ!;&nc5qtRQ)BK= z8`YnlzO!r9EvC3qLyv$R3I`|FFbZ-7GcS9ye$D|4mBl^!)eCt3RIb?KX5cOyytnA3 zeO$bK;mh^4ugn!rUH-TH*3JLT{(qnTnftu{eQ^EG`t*ORU%$5g?O*dM+F{Adq|VR( zCFKOJi}viTTCwF&%$wblBMqGW#5bN-xuWnrL8Cia#P~^xqw}r%Hd<`mQFWKT%;s0& z`PuVH%+V^p{ko4%pKPt+=BX>~mK;1^H}{P=>aLVkYJB@Z`;ruaksys40U4=@DXB%^ z?K+U;+3yGnf7kD=cO1{yO`GegadeaU!Uwq?dIBJ$1jnRX(BC=rH}W{eRnK z^8f#6)oG@RM>t;JqR>%l(6_ef_0#JAoJ!&;&DjY-8v@%3Z`6KCkJ@-8FfQiIq96k;Yn)J#*mY9FWAaOfm~9bf|8G8Q zW9_?qLA_03<>CqF!pm8cHid{(81cy`UU%81&>pwX#_SFwiQYAWC%4v-;9cWk<=tub z1Qu@vCS-q3$R@jJXW#}0U=b1@Qdy8%91HU6(P`fPkAWM{zI%L@SIT$q<@VrMxJ;)Z z^4tauq3GoMTg2*4?n`~K|GCxDiz|e;@@5`Y3zBOsDW9x1&uiE41R1|h+?f%m%x;h1V zrZH)1oX@XZuD9doG{4(t&Ys^bD(G`-(x2|C;;d|&#pgFpS(5W;Nh{yW=jqGrL(;Br zb-4?E+`eJToYSdJ`SaI4lsahVCV#1NXLXBgMEv!rrcXtgEB9 z*vx0}RxT1*5%}WxG&`sIAIsjadFPw6>izjQI=>x$#LJ83KhJz&lWx8$(#dO!=333@ zbnPv-x4xMrWBPXC%nHN!7qzRK|2J*9#@_OQqwvS9_Z<^@`Jcq|#IYUzG5!9r_=W)W zm-V@OfCu!XtH0PU{-5Qq{E2e!-%Jy?z5f{QkiEBDNJt^5rQ{Ef^z*-h1*s227^Uv- ztyuDy^TRW%Kk-*?(biY|Jn+i7-|0#}q{ z#yZ3R?6o+kJp=)u`ds)htmT7lDSG<|qz7WDIb098oWy4t#0em+Aj@(mAvYlK=>w^T z01zwo2(ms{y^0z}=uHohZisWcvFJu^h@g8Nee){9tf?qIfSZDD0Q$C2gaI{^k-Y*k z0I^9FUw{B}I26Ew2H0KzYXvrIQA6VJnkd&?V5v|8Y}mpSLqb9wXarnaVnG3@fI!!M z?a#BP0YKg5K;42+D$cg^HG#07P@26TVo)N5XY`T)riqHLpKS% zS%EM~_c)3Z&>I=V8zgfAi$RF$n|On`fn^3#yA$FfM8$}1(D}>t2V~)1BKB3G`x|}RIKqhOQ=oREY$8Y3Z)y4SK`Ai4ih!jLYWej8 zxVH-&>cy!gCBQA{#fahuQPn$u=N9~MzD5p7bU=(6ssI20 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 95d9e67..55ebff7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ # open-JSD-8061 -JSD-8061 OAuth2单点 \ No newline at end of file +JSD-8061 OAuth2单点\ +免责说明:该源码为第三方爱好者提供,不保证源码和方案的可靠性,也不提供任何形式的源码教学指导和协助!\ +仅作为开发者学习参考使用!禁止用于任何商业用途!\ +为保护开发者隐私,开发者信息已隐去!若原开发者希望公开自己的信息,可联系hugh处理。 \ No newline at end of file diff --git a/lib/finekit-10.0.jar b/lib/finekit-10.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..611c8f58c7f1a1f7b3fc0dcd923ffb1995097782 GIT binary patch literal 194150 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 o>@;|bOjfZ&tU4-z5qAB{_S7J + + com.fr.plugin.third.party.jsd8061 + + yes + 0.4 + 10.0 + 2019-01-01 + fr.open + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/third/party/jsdiagb/Utils.java b/src/main/java/com/fr/plugin/third/party/jsdiagb/Utils.java new file mode 100644 index 0000000..54755fb --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdiagb/Utils.java @@ -0,0 +1,134 @@ +package com.fr.plugin.third.party.jsdiagb; + +import com.fanruan.api.log.LogKit; +import com.fanruan.api.util.StringKit; +import com.fr.third.org.apache.http.HttpEntity; +import com.fr.third.org.apache.http.HttpStatus; +import com.fr.third.org.apache.http.client.config.RequestConfig; +import com.fr.third.org.apache.http.client.methods.CloseableHttpResponse; +import com.fr.third.org.apache.http.client.methods.HttpGet; +import com.fr.third.org.apache.http.client.methods.HttpPost; +import com.fr.third.org.apache.http.conn.ssl.NoopHostnameVerifier; +import com.fr.third.org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import com.fr.third.org.apache.http.entity.StringEntity; +import com.fr.third.org.apache.http.impl.client.CloseableHttpClient; +import com.fr.third.org.apache.http.impl.client.HttpClients; +import com.fr.third.org.apache.http.ssl.SSLContextBuilder; +import com.fr.third.org.apache.http.ssl.TrustStrategy; +import com.fr.third.org.apache.http.util.EntityUtils; + +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.SSLContext; +import java.io.IOException; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; + +public class Utils { + public static String DEFAULT_USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"; + public static RequestConfig REQUEST_CONFIG = RequestConfig.custom() + .setConnectionRequestTimeout(30000) + .setSocketTimeout(30000) // 服务端相应超时 + .setConnectTimeout(30000) // 建立socket链接超时时间 + .build(); + + public static CloseableHttpClient createSSLClientDefault() { + try { + SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() { + + @Override + public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException { + return true; + } + }).build(); + HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE; + SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, hostnameVerifier); + return HttpClients.custom().setSSLSocketFactory(sslsf).build(); + } catch (Exception e) { + LogKit.error(e.getMessage(), e); + } + return HttpClients.createDefault(); + } + + public static synchronized CloseableHttpClient createHttpClient(String url) { + CloseableHttpClient httpClient = null; + if (StringKit.isEmpty(url)) { + httpClient = HttpClients.createDefault(); + return httpClient; + } + + if (url.startsWith("https://")) { + httpClient = createSSLClientDefault(); + return httpClient; + } + httpClient = HttpClients.createDefault(); + return httpClient; + } + + public static synchronized String createHttpGetContent(CloseableHttpClient httpClient, String url) throws IOException { + if ((httpClient == null) || (StringKit.isEmpty(url))) { + return ""; + } + + HttpGet httpGet = new HttpGet(url); + httpGet.addHeader("User-Agent", Utils.DEFAULT_USER_AGENT); + httpGet.setConfig(Utils.REQUEST_CONFIG); + CloseableHttpResponse response = httpClient.execute(httpGet); + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode != HttpStatus.SC_OK) { + response.close(); + LogKit.info("http请求出错,http status:" + statusCode); + return ""; + } + + HttpEntity httpEntity = response.getEntity(); + if (httpEntity == null) { + response.close(); + LogKit.info("http请求出错,http响应内容为空"); + return ""; + } + String responseContent = EntityUtils.toString(httpEntity, "UTF-8"); + response.close(); + if (StringKit.isEmpty(responseContent)) { + LogKit.info("http请求出错,http响应内容为空1"); + return ""; + } + return responseContent; + } + + public static synchronized String createHttpPostContent(CloseableHttpClient httpClient, String url, String bodyContent) throws IOException { + if ((httpClient == null) || (StringKit.isEmpty(url)) || (StringKit.isEmpty(bodyContent))) { + return ""; + } + + HttpPost httpPost = new HttpPost(url); + httpPost.addHeader("User-Agent", Utils.DEFAULT_USER_AGENT); + httpPost.setConfig(Utils.REQUEST_CONFIG); + StringEntity bodyEntity = new StringEntity(bodyContent, "UTF-8"); + httpPost.setEntity(bodyEntity); + CloseableHttpResponse response = httpClient.execute(httpPost); + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode != HttpStatus.SC_OK) { + response.close(); + LogKit.info("http请求出错,http status:" + statusCode); + return ""; + } + + HttpEntity httpEntity = response.getEntity(); + if (httpEntity == null) { + response.close(); + LogKit.info("http请求出错,http响应内容为空"); + return ""; + } + String responseContent = EntityUtils.toString(httpEntity, "UTF-8"); + response.close(); + if (StringKit.isEmpty(responseContent)) { + LogKit.info("http请求出错,http响应内容为空1"); + return ""; + } + return responseContent; + } + + + + +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdiagb/config/CustomDataConfig.java b/src/main/java/com/fr/plugin/third/party/jsdiagb/config/CustomDataConfig.java new file mode 100644 index 0000000..104ac2b --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdiagb/config/CustomDataConfig.java @@ -0,0 +1,164 @@ +package com.fr.plugin.third.party.jsdiagb.config; + + +import com.fr.config.*; +import com.fr.config.holder.Conf; +import com.fr.config.holder.factory.Holders; + +import java.util.concurrent.ConcurrentHashMap; + +/** + * 配置数据保存 + */ +@Visualization(category = "SSO登录集成配置") +public class CustomDataConfig extends DefaultConfiguration { + public String getNameSpace() { + return this.getClass().getName(); + } + + private static ConcurrentHashMap URL_MAP = new ConcurrentHashMap(); + + /** + * 添加链接 + * @param key + * @param url + */ + public static void addUrl(String key, String url) { + URL_MAP.put(key, url); + } + + /** + * 获取链接并销毁保存 + * @param key + * @return + */ + public static String getUrlAndDestroy(String key) { + String url = URL_MAP.get(key); + URL_MAP.remove(key); + return url; + } + + + private static volatile CustomDataConfig config = null; + + public static CustomDataConfig getInstance() { + if (config == null) { + config = ConfigContext.getConfigInstance(CustomDataConfig.class); + } + return config; + } + + + @Identifier(value = "idmClientId", name = "客户端id(client_id)", description = "", status = Status.SHOW) + private Conf idmClientId = Holders.simple(""); + + + @Identifier(value = "idmClientSecret", name = "客户端密钥(client_secret)", description = "", status = Status.SHOW) + private Conf idmClientSecret = Holders.simple(""); + + + @Identifier(value = "frUrl", name = "报表地址(redirect_uri)", description = "", status = Status.SHOW) + private Conf frUrl = Holders.simple(""); + + + @Identifier(value = "oAuthCodeUrl", name = "获取OAuth Code地址", description = "", status = Status.SHOW) + private Conf oAuthCodeUrl = Holders.simple(""); + + + @Identifier(value = "accessTokenUrl", name = "获取Access Token地址", description = "", status = Status.SHOW) + private Conf accessTokenUrl = Holders.simple(""); + + + @Identifier(value = "userUrl", name = "获取用户信息地址", description = "", status = Status.SHOW) + private Conf userUrl = Holders.simple(""); + + + @Identifier(value = "loginTypeNameParameter", name = "登录类型参数名称", description = "", status = Status.SHOW) + private Conf loginTypeNameParameter = Holders.simple("loginType"); + + + @Identifier(value = "loginTypeValue", name = "登录类型值", description = "", status = Status.SHOW) + private Conf loginTypeValue = Holders.simple("OAUTH"); + + + + + public String getIdmClientId() { + return idmClientId.get(); + } + + public void setIdmClientId(String idmClientId) { + this.idmClientId.set(idmClientId); + } + + public String getIdmClientSecret() { + return idmClientSecret.get(); + } + + public void setIdmClientSecret(String idmClientSecret) { + this.idmClientSecret.set(idmClientSecret); + } + + public String getFrUrl() { + return frUrl.get(); + } + + public void setFrUrl(String frUrl) { + this.frUrl.set(frUrl); + } + + public String getoAuthCodeUrl() { + return oAuthCodeUrl.get(); + } + + public void setoAuthCodeUrl(String oAuthCodeUrl) { + this.oAuthCodeUrl.set(oAuthCodeUrl); + } + + public String getAccessTokenUrl() { + return accessTokenUrl.get(); + } + + public void setAccessTokenUrl(String accessTokenUrl) { + this.accessTokenUrl.set(accessTokenUrl); + } + + public String getUserUrl() { + return userUrl.get(); + } + + public void setUserUrl(String userUrl) { + this.userUrl.set(userUrl); + } + + public String getLoginTypeNameParameter() { + return loginTypeNameParameter.get(); + } + + public void setLoginTypeNameParameter(String loginTypeNameParameter) { + this.loginTypeNameParameter.set(loginTypeNameParameter); + } + + public String getLoginTypeValue() { + return loginTypeValue.get(); + } + + public void setLoginTypeValue(String loginTypeValue) { + this.loginTypeValue.set(loginTypeValue); + } + + + @Override + public Object clone() throws CloneNotSupportedException { + CustomDataConfig cloned = (CustomDataConfig) super.clone(); + cloned.idmClientId = (Conf) idmClientId.clone(); + cloned.idmClientSecret = (Conf) idmClientSecret.clone(); + cloned.frUrl = (Conf) frUrl.clone(); + cloned.oAuthCodeUrl = (Conf) oAuthCodeUrl.clone(); + cloned.accessTokenUrl = (Conf) accessTokenUrl.clone(); + cloned.userUrl = (Conf) userUrl.clone(); + cloned.loginTypeNameParameter = (Conf) loginTypeNameParameter.clone(); + cloned.loginTypeValue = (Conf) loginTypeValue.clone(); + return cloned; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdiagb/config/DataConfigInitializeMonitor.java b/src/main/java/com/fr/plugin/third/party/jsdiagb/config/DataConfigInitializeMonitor.java new file mode 100644 index 0000000..81076c7 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdiagb/config/DataConfigInitializeMonitor.java @@ -0,0 +1,24 @@ +package com.fr.plugin.third.party.jsdiagb.config; + +import com.fr.intelli.record.Focus; +import com.fr.intelli.record.Original; +import com.fr.plugin.context.PluginContext; +import com.fr.plugin.observer.inner.AbstractPluginLifecycleMonitor; +import com.fr.record.analyzer.EnableMetrics; + +/** + * 配置信息初始化 + */ +@EnableMetrics +public class DataConfigInitializeMonitor extends AbstractPluginLifecycleMonitor { + @Override + @Focus(id = "com.fr.plugin.third.party.jsd8061", text = "plugin-jsd-8061", source = Original.PLUGIN) + public void afterRun(PluginContext pluginContext) { + CustomDataConfig.getInstance(); + } + + @Override + public void beforeStop(PluginContext pluginContext) { + + } +} \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/third/party/jsdiagb/http/CustomUserInfo.java b/src/main/java/com/fr/plugin/third/party/jsdiagb/http/CustomUserInfo.java new file mode 100644 index 0000000..1a299b7 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdiagb/http/CustomUserInfo.java @@ -0,0 +1,53 @@ +package com.fr.plugin.third.party.jsdiagb.http; + +public class CustomUserInfo { + private boolean valid = false; + private String userId; + private String username; + private String email; + private String phone; + + public CustomUserInfo() { + setValid(false); + } + + public boolean isValid() { + return valid; + } + + public void setValid(boolean valid) { + this.valid = valid; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdiagb/http/SessionGlobalRequestFilterProvider.java b/src/main/java/com/fr/plugin/third/party/jsdiagb/http/SessionGlobalRequestFilterProvider.java new file mode 100644 index 0000000..830885f --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdiagb/http/SessionGlobalRequestFilterProvider.java @@ -0,0 +1,464 @@ +package com.fr.plugin.third.party.jsdiagb.http; + +import com.fanruan.api.log.LogKit; +import com.fanruan.api.util.StringKit; +import com.fr.data.NetworkHelper; +import com.fr.decision.authority.AuthorityContext; +import com.fr.decision.authority.base.constant.type.operation.ManualOperationType; +import com.fr.decision.authority.data.User; +import com.fr.decision.fun.impl.AbstractGlobalRequestFilterProvider; +import com.fr.decision.mobile.terminal.TerminalHandler; +import com.fr.decision.privilege.encrpt.PasswordValidator; +import com.fr.decision.webservice.utils.UserSourceFactory; +import com.fr.decision.webservice.v10.login.LoginService; +import com.fr.decision.webservice.v10.login.TokenResource; +import com.fr.decision.webservice.v10.user.UserService; +import com.fr.general.ComparatorUtils; +import com.fr.json.JSONObject; +import com.fr.log.FineLoggerFactory; +import com.fr.plugin.third.party.jsdiagb.Utils; +import com.fr.plugin.third.party.jsdiagb.config.CustomDataConfig; +import com.fr.stable.StringUtils; +import com.fr.stable.query.QueryFactory; +import com.fr.third.org.apache.commons.codec.digest.DigestUtils; +import com.fr.third.org.apache.http.HttpEntity; +import com.fr.third.org.apache.http.HttpHeaders; +import com.fr.third.org.apache.http.HttpStatus; +import com.fr.third.org.apache.http.NameValuePair; +import com.fr.third.org.apache.http.client.config.RequestConfig; +import com.fr.third.org.apache.http.client.entity.UrlEncodedFormEntity; +import com.fr.third.org.apache.http.client.methods.CloseableHttpResponse; +import com.fr.third.org.apache.http.client.methods.HttpGet; +import com.fr.third.org.apache.http.client.methods.HttpPost; +import com.fr.third.org.apache.http.impl.client.CloseableHttpClient; +import com.fr.third.org.apache.http.message.BasicNameValuePair; +import com.fr.third.org.apache.http.util.EntityUtils; +import com.fr.web.utils.WebUtils; + +import javax.servlet.FilterChain; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.*; + + +public class SessionGlobalRequestFilterProvider extends AbstractGlobalRequestFilterProvider { + //private static CloseableHttpClient httpClient = HttpClients.createDefault(); + private static String DEFAULT_USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"; + + @Override + public String filterName() { + return "com.fr.plugin.third.party.jsd8061"; + } + + @Override + public String[] urlPatterns() { + return new String[]{"/decision", "/decision/*"}; + } + + @Override + public void doFilter(HttpServletRequest req, HttpServletResponse res, FilterChain filterChain) { + try { + String fullUrl = req.getRequestURL().toString(); + String queryUrl = req.getQueryString(); + if ((queryUrl == null) || "null".equalsIgnoreCase(queryUrl)) { + queryUrl = ""; + } else { + queryUrl = "?" + queryUrl; + } + + String fullUrl1 = fullUrl + queryUrl; + String method = req.getMethod(); + LogKit.info("SSO登录集成登录,记录访问地址:" + method + " " + fullUrl1); + if (fullUrl.indexOf("/remote/") >= 0) { + filterChain.doFilter(req, res); + return; + } + + if (!"GET".equalsIgnoreCase(method)) { + filterChain.doFilter(req, res); + return; + } + + // boolean option = isLogged(req); + //if (option) { + // filterChain.doFilter(req, res); + // return; + //} + + if (isAllowIdmOAuthLogin(req)) { + String state = getUuid(); + String requestUrl = getRequestUrl(req); + LogKit.info("SSO登录集成登录,访问地址," + requestUrl); + //CustomDataConfig.addUrl(state, requestUrl); + String locationUrl = getOAuthCodeUrl(state); + res.sendRedirect(locationUrl); + return; + } + + CustomUserInfo customUserInfo = getIdmOAuthUsername(req); + String loginUsername = customUserInfo.getUserId(); + if (StringKit.isEmpty(loginUsername)) { + filterChain.doFilter(req, res); + return; + } + + LogKit.info("SSO登录集成登录, OAuth 用户名:" + loginUsername); + //User user = getUserByUserNameIgnoreCase(loginUsername); + //loginUsername = loginUsername.toLowerCase(); + User user = UserService.getInstance().getUserByUserName(loginUsername); + boolean tipsOption = false; + String tipsContent = ""; + if (user == null) { + //tipsOption = true; + LogKit.info("SSO登录集成登录,用户名:" + loginUsername + "在报表平台不存在"); + //tipsContent = "在报表服务器上不存在"; + PasswordValidator passwordValidator = UserSourceFactory.getInstance().getUserSource(ManualOperationType.KEY).getPasswordValidator(); + User record = (new User()).userName(customUserInfo.getUserId()).realName(customUserInfo.getUsername()).password(passwordValidator.encode(customUserInfo.getUserId(), "111111")).email(customUserInfo.getEmail()).mobile(customUserInfo.getPhone()).creationType(ManualOperationType.KEY).lastOperationType(ManualOperationType.KEY).enable(true); + AuthorityContext.getInstance().getUserController().add(record); + } else if (!user.isEnable()) { + tipsOption = true; + LogKit.info("SSO登录集成登录,用户名:" + loginUsername + "在报表平台上被禁用"); + tipsContent = "在报表平台上被禁用"; + } + + if (tipsOption) { + String jumpContent = "\n" + + "\n" + + " \n" + + " 提示\n" + + "\n" + + "\n" + + " \n" + + "

    \n" + + " \n" + + "
    \n" + + "\n" + + ""; + res.setContentType("text/html;charset=UTF-8"); + WebUtils.printAsString(res, jumpContent); + res.setStatus(200); + return; + } + + //loginUsername = user.getUserName(); + //LogKit.info("中金SSO登录集成登录,报表平台用户名:" + loginUsername); + + LogKit.info("SSO登录集成登录,报表平台用户名:" + loginUsername+"生成 login token"); + String loginToken = LoginService.getInstance().login(req, res, loginUsername); + req.setAttribute("fine_auth_token", loginToken); + /* if (pcOption) { + String state = WebUtils.getHTTPRequestParameter(req, "state"); + String url = CustomDataConfig.getUrlAndDestroy(state); + LogKit.info("中金SSO登录集成登录,用户名:" + loginUsername + "在报表平台,state url:" + url); + url = changeUrlScheme(url); + if (StringKit.isNotEmpty(url)) { + LogKit.info("中金SSO登录集成登录,用户名:" + loginUsername + "在报表平台," + url); + res.sendRedirect(url); + return; + } + }*/ + filterChain.doFilter(req, res); + } catch (Exception e) { + FineLoggerFactory.getLogger().error("SSO登录集成登录出错," + e.getMessage(), e); + } + } + + private String changeUrlScheme(String url) { + if (StringKit.isEmpty(url)) { + return ""; + } + if ((!url.startsWith("http://")) && (!url.startsWith("https://"))) { + return url; + } + + String frUrl = CustomDataConfig.getInstance().getFrUrl(); + if (StringKit.isEmpty(frUrl)) { + return url; + } + + if ((url.startsWith("http://")) && (frUrl.startsWith("http://"))) { + return url; + } + if ((url.startsWith("https://")) && (frUrl.startsWith("https://"))) { + return url; + } + String tempUrl = url; + if ((url.startsWith("http://")) && (frUrl.startsWith("https://"))) { + tempUrl = "https://" + url.substring(7); + } + + if ((url.startsWith("https://")) && (frUrl.startsWith("http://"))) { + tempUrl = "http://" + url.substring(8); + } + return tempUrl; + } + + + public boolean isLogged(HttpServletRequest req) { + boolean logged = true; + + try { + String token = TokenResource.COOKIE.getToken(req); + LoginService.getInstance().loginStatusValid(token, TerminalHandler.getTerminal(req, NetworkHelper.getDevice(req))); + } catch (Exception var4) { + logged = false; + } + + return logged; + } + + private String getOAuthCodeUrl(String state) { + String url = CustomDataConfig.getInstance().getoAuthCodeUrl() + "?client_id=" + CustomDataConfig.getInstance().getIdmClientId() + "&scope=user_info&redirect_uri=" + CustomDataConfig.getInstance().getFrUrl() + "&response_type=code&access_type=offline&include_granted_scopes=true&state=" + state; + LogKit.info("SSO登录集成登录,SSO请求授权API url:" + url); + return url; + } + + private String getUuid() { + String uuid = UUID.randomUUID().toString().replace("-", ""); + return uuid; + } + + + /** + * 判断app是否允许登录IDM OAuth + * + * @param req + * @return + */ + private boolean isAllowIdmOAuthLogin(HttpServletRequest req) { + if (req == null) { + return false; + } + String loginTypeNameParameter = CustomDataConfig.getInstance().getLoginTypeNameParameter(); + String loginTypeConfigValue = CustomDataConfig.getInstance().getLoginTypeValue(); + if (StringKit.isEmpty(loginTypeNameParameter) || StringKit.isEmpty(loginTypeConfigValue)) { + return false; + } + String loginTypeValue = WebUtils.getHTTPRequestParameter(req, loginTypeNameParameter); + return ComparatorUtils.equals(loginTypeConfigValue, loginTypeValue); + } + + + /** + * 判断字符串是否全是数字 + * + * @param str + * @return + */ + public static boolean isNumeric(String str) { + if (StringKit.isEmpty(str)) { + return false; + } + for (int i = str.length(); --i >= 0; ) { + if (!Character.isDigit(str.charAt(i))) { + + return false; + + } + } + return true; + } + + + /** + * 获取IDM OAuth 用户名 + * + * @param req + * @return + */ + private CustomUserInfo getIdmOAuthUsername(HttpServletRequest req) { + try { + if (req == null) { + return new CustomUserInfo(); + } + String oAuthCode = WebUtils.getHTTPRequestParameter(req, "code"); + if (StringKit.isEmpty(oAuthCode)) { + return new CustomUserInfo(); + } + LogKit.info("SSO登录集成登录,OAuth Code:" + oAuthCode); + + RequestConfig requestConfig = RequestConfig.custom() + .setConnectionRequestTimeout(10000) + .setSocketTimeout(10000) // 服务端相应超时 + .setConnectTimeout(10000) // 建立socket链接超时时间 + .build(); + + //获取Access Token + //环境地址/getTokens + String accessTokenUrl = CustomDataConfig.getInstance().getAccessTokenUrl(); + LogKit.info("SSO登录集成登录,获取access_toke url:" + accessTokenUrl); + HttpPost httpPost = new HttpPost(accessTokenUrl); + httpPost.addHeader("User-Agent", DEFAULT_USER_AGENT); + + List params = new ArrayList(); + NameValuePair redirectUriNameValuePair = new BasicNameValuePair("redirect_uri", CustomDataConfig.getInstance().getFrUrl()); + NameValuePair codeNameValuePair = new BasicNameValuePair("code", oAuthCode); + NameValuePair grantTypeNameValuePair = new BasicNameValuePair("grant_type", "authorization_code"); + NameValuePair clientIdValuePair = new BasicNameValuePair("client_id", CustomDataConfig.getInstance().getIdmClientId()); + NameValuePair clientSecretValuePair = new BasicNameValuePair("client_secret", CustomDataConfig.getInstance().getIdmClientSecret()); + params.add(redirectUriNameValuePair); + params.add(codeNameValuePair); + params.add(grantTypeNameValuePair); + params.add(clientIdValuePair); + params.add(clientSecretValuePair); + httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8")); + httpPost.setHeader("Content-type", "application/x-www-form-urlencoded"); + /* + String auth = CustomDataConfig.getInstance().getIdmClientId() + ":" + CustomDataConfig.getInstance().getIdmClientSecret(); + String tempAuthValue = Base64.getEncoder().encodeToString(auth.getBytes()); + + */ + + + httpPost.setConfig(requestConfig); + CloseableHttpClient httpClient = Utils.createHttpClient(accessTokenUrl); + CloseableHttpResponse response = httpClient.execute(httpPost); + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode != HttpStatus.SC_OK) { + response.close(); + httpClient.close(); + LogKit.info("SSO登录集成登录,获取Access Token请求出错,http status:" + statusCode); + return new CustomUserInfo(); + } + + HttpEntity httpEntity = response.getEntity(); + if (httpEntity == null) { + response.close(); + httpClient.close(); + LogKit.info("SSO登录集成登录,获取Access Token请求出错,http响应内容为空"); + return new CustomUserInfo(); + } + String responseContent = EntityUtils.toString(httpEntity, "UTF-8"); + response.close(); + if (StringKit.isEmpty(responseContent)) { + httpClient.close(); + LogKit.info("SSO登录集成登录,获取Access Token请求出错,http响应内容为空1"); + return new CustomUserInfo(); + } + LogKit.info("SSO登录集成登录,获取Access Token请求,http响应内容\n" + responseContent); + + String accessToken = getAccessToken(responseContent); + if (StringKit.isEmpty(accessToken)) { + httpClient.close(); + LogKit.info("SSO登录集成登录,获取Access Token请求出错,access_token为空"); + return new CustomUserInfo(); + } + LogKit.info("SSO登录集成登录,Access Token:" + accessToken); + + String userUrl = CustomDataConfig.getInstance().getUserUrl(); + + httpPost = new HttpPost(userUrl); + httpPost.setConfig(requestConfig); + String authValue = "Bearer " + accessToken; + httpPost.setHeader(HttpHeaders.AUTHORIZATION, authValue); + response = httpClient.execute(httpPost); + statusCode = response.getStatusLine().getStatusCode(); + if (statusCode != HttpStatus.SC_OK) { + response.close(); + httpClient.close(); + LogKit.info("SSO登录集成登录,获取用户信息请求出错,http status:" + statusCode); + return new CustomUserInfo(); + } + + httpEntity = response.getEntity(); + if (httpEntity == null) { + response.close(); + httpClient.close(); + LogKit.info("SSO登录集成登录,获取用户信息请求出错,http响应内容为空"); + return new CustomUserInfo(); + } + responseContent = EntityUtils.toString(httpEntity, "UTF-8"); + response.close(); + httpClient.close(); + if (StringKit.isEmpty(responseContent)) { + LogKit.info("SSO登录集成登录,获取用户信息请求出错,http响应内容为空1"); + return new CustomUserInfo(); + } + LogKit.info("SSO登录集成登录,获取用户信息请求,http响应内容\n" + responseContent); + JSONObject jsonObject = new JSONObject(responseContent); + String uid = jsonObject.getString("login_name"); + if (StringKit.isEmpty(uid)) { + LogKit.info("SSO登录集成登录,,获取用户信息请求出错,login_name为空"); + return new CustomUserInfo(); + } + LogKit.info("SSO登录集成登录,login_name:" + uid); + + CustomUserInfo customUserInfo = new CustomUserInfo(); + customUserInfo.setUserId(uid); + customUserInfo.setUsername(jsonObject.getString("user_name")); + customUserInfo.setEmail(jsonObject.getString("email_address")); + customUserInfo.setPhone(jsonObject.getString("phone")); + customUserInfo.setValid(true); + return customUserInfo; + } catch (Exception e) { + FineLoggerFactory.getLogger().error("SSO登录集成登录获取用户名出错," + e.getMessage(), e); + } + return new CustomUserInfo(); + } + + private String getAccessToken(String content) { + if (StringKit.isEmpty(content)) { + return ""; + } + JSONObject jsonObject = new JSONObject(content); + String token = jsonObject.getString("access_token"); + return token; + } + + + private String getRequestUrl(HttpServletRequest req) { + String fullUrl = req.getRequestURL().toString(); + Map paraMap = req.getParameterMap(); + String paraName; + String[] paraValues; + String loginTypeParaName = CustomDataConfig.getInstance().getLoginTypeNameParameter(); + String queryStr = ""; + for (Map.Entry entry : paraMap.entrySet()) { + paraName = entry.getKey(); + if (ComparatorUtils.equals(paraName, loginTypeParaName)) { + continue; + } + paraValues = entry.getValue(); + queryStr = addParaToQuery(queryStr, paraName, paraValues); + } + if (StringKit.isEmpty(queryStr)) { + return fullUrl; + } + fullUrl = fullUrl + "?" + queryStr; + return fullUrl; + } + + private String addParaToQuery(String query, String paraName, String[] paraValues) { + if (StringKit.isEmpty(paraName)) { + return query; + } + String fullQuery = query; + if ((paraValues == null) || (paraValues.length <= 0)) { + if (StringKit.isNotEmpty(fullQuery)) { + fullQuery = fullQuery + "&"; + } + fullQuery = paraName + "="; + return fullQuery; + } + for (int i = 0, max = paraValues.length - 1; i <= max; i++) { + if (StringKit.isNotEmpty(fullQuery)) { + fullQuery = fullQuery + "&"; + } + fullQuery = fullQuery + paraName + "=" + paraValues[i]; + } + return fullQuery; + } + + +}