Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zlb-app
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhoushaopan
zlb-app
Commits
26d596ee
提交
26d596ee
authored
8月 26, 2022
作者:
zhoushaopan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(根据ticket获取token的接口): 做了一个json的转换
做了一个json的转换
上级
24b39ef1
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
129 行增加
和
18 行删除
+129
-18
pom.xml
pom.xml
+6
-0
ZlbAppController.java
.../com/tykj/zlbapp/subject/controller/ZlbAppController.java
+11
-10
ZlbAppAuthService.java
...va/com/tykj/zlbapp/subject/service/ZlbAppAuthService.java
+3
-1
ZlbAppAuthServiceImpl.java
...kj/zlbapp/subject/service/impl/ZlbAppAuthServiceImpl.java
+8
-4
TokenVO.java
src/main/java/com/tykj/zlbapp/subject/vo/TokenVO.java
+46
-0
XMLParse.java
src/main/java/com/tykj/zlbapp/util/XMLParse.java
+52
-0
HttpClientUtil.java
src/main/java/com/tykj/zlbapp/util/http/HttpClientUtil.java
+1
-1
HttpConnectionManager.java
...java/com/tykj/zlbapp/util/http/HttpConnectionManager.java
+1
-1
SslSelfSigned.java
src/main/java/com/tykj/zlbapp/util/http/SslSelfSigned.java
+1
-1
没有找到文件。
pom.xml
浏览文件 @
26d596ee
...
...
@@ -59,6 +59,12 @@
<artifactId>
httpclient
</artifactId>
<version>
4.5.4
</version>
</dependency>
<dependency>
<groupId>
dom4j
</groupId>
<artifactId>
dom4j
</artifactId>
<version>
1.5
</version>
</dependency>
</dependencies>
<build>
...
...
src/main/java/com/tykj/zlbapp/subject/controller/ZlbAppController.java
浏览文件 @
26d596ee
...
...
@@ -2,6 +2,7 @@ package com.tykj.zlbapp.subject.controller;
import
com.alibaba.fastjson.JSONObject
;
import
com.tykj.zlbapp.subject.service.ZlbAppAuthService
;
import
com.tykj.zlbapp.subject.vo.TokenVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -31,18 +32,18 @@ public class ZlbAppController {
@GetMapping
(
"/getAppTokenByTicketId"
)
@ApiOperation
(
value
=
"根据票据换取token"
,
notes
=
"根据票据换取token"
)
public
String
getTokenByTicketId
(
String
ticketId
,
HttpServletRequest
request
)
{
public
TokenVO
getTokenByTicketId
(
String
ticketId
,
HttpServletRequest
request
)
{
HttpSession
session
=
request
.
getSession
();
//1. 通过ticketId 换取 accessToken
String
token
=
zlbAppAuthService
.
getTokenByTicket
(
ticketId
);
//2. 保存accessToken
session
.
setAttribute
(
TOKEN_SESSION_KEY
,
token
);
// //3. 通过accessToken 获取用户信息
// JSONObject userInfo = zlbAuthService.getUserInfoByToken(token);
// //4. 缓存用户信息
// session.setAttribute(USER_INFO_KEY, userInfo);
log
.
info
(
"session:{}"
,
session
);
return
token
;
TokenVO
tokenByTicket
=
zlbAppAuthService
.
getTokenByTicket
(
ticketId
);
//
//2. 保存accessToken
// session.setAttribute(TOKEN_SESSION_KEY, tokenByTicket.g
);
//
//
//3. 通过accessToken 获取用户信息
//
//
JSONObject userInfo = zlbAuthService.getUserInfoByToken(token);
//
//
//4. 缓存用户信息
//
//
session.setAttribute(USER_INFO_KEY, userInfo);
//
log.info("session:{}",session);
return
token
ByTicket
;
}
}
src/main/java/com/tykj/zlbapp/subject/service/ZlbAppAuthService.java
浏览文件 @
26d596ee
package
com
.
tykj
.
zlbapp
.
subject
.
service
;
import
com.tykj.zlbapp.subject.vo.TokenVO
;
/**
* @author zsp
* @version 1.0
...
...
@@ -7,5 +9,5 @@ package com.tykj.zlbapp.subject.service;
*/
public
interface
ZlbAppAuthService
{
String
getTokenByTicket
(
String
ticketId
);
TokenVO
getTokenByTicket
(
String
ticketId
);
}
src/main/java/com/tykj/zlbapp/subject/service/impl/ZlbAppAuthServiceImpl.java
浏览文件 @
26d596ee
package
com
.
tykj
.
zlbapp
.
subject
.
service
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.tykj.zlbapp.contants.AppConstants
;
import
com.tykj.zlbapp.subject.service.ZlbAppAuthService
;
import
com.tykj.zlbapp.subject.vo.TokenVO
;
import
com.tykj.zlbapp.util.HeadUtil
;
import
com.tykj.zlbapp.util.MD5Util
;
import
com.tykj.zlbapp.util.XMLParse
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.stereotype.Service
;
...
...
@@ -14,6 +17,7 @@ import org.springframework.web.client.RestTemplate;
import
javax.annotation.Resource
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.Map
;
/**
* @author zsp
...
...
@@ -27,7 +31,7 @@ public class ZlbAppAuthServiceImpl implements ZlbAppAuthService {
private
RestTemplate
restTemplate
;
@Override
public
String
getTokenByTicket
(
String
ticket
)
{
public
TokenVO
getTokenByTicket
(
String
ticket
)
{
//请求zlbApp的接口
//进行接口请求的构造
//1 构造header
...
...
@@ -35,7 +39,6 @@ public class ZlbAppAuthServiceImpl implements ZlbAppAuthService {
//请求body为x-www-form-urlencoded方式
MultiValueMap
<
String
,
Object
>
params
=
new
LinkedMultiValueMap
<>();
//servicecode 就是ak
params
.
add
(
"servicecode"
,
AppConstants
.
IRS_AK
);
params
.
add
(
"method"
,
"ticketValidation"
);
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyyMMddhhmmss"
);
...
...
@@ -45,7 +48,8 @@ public class ZlbAppAuthServiceImpl implements ZlbAppAuthService {
params
.
add
(
"st"
,
ticket
);
HttpEntity
<
MultiValueMap
<
String
,
Object
>>
httpEntity
=
new
HttpEntity
<>(
params
,
headers
);
String
body
=
restTemplate
.
postForEntity
(
AppConstants
.
ACCESS_TOKEN_URL
,
httpEntity
,
String
.
class
).
getBody
();
return
body
;
//解析xml
Map
<
String
,
Object
>
valueByNode
=
XMLParse
.
getValueByNode
(
body
);
return
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
valueByNode
),
TokenVO
.
class
);
}
}
src/main/java/com/tykj/zlbapp/subject/vo/TokenVO.java
0 → 100644
浏览文件 @
26d596ee
package
com
.
tykj
.
zlbapp
.
subject
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author zsp
* @version 1.0
* @date 2022/8/26 13:45
*/
@ApiModel
(
"根据ticket获取token返回的vo"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
TokenVO
{
@ApiModelProperty
(
value
=
"根节点"
)
private
String
rootNode
;
@ApiModelProperty
(
value
=
"返回的结果"
)
private
Integer
result
;
@ApiModelProperty
(
value
=
"返回的token"
)
private
String
token
;
@ApiModelProperty
(
value
=
"用户id"
)
private
String
userid
;
@ApiModelProperty
(
value
=
"登录名"
)
private
String
loginname
;
@ApiModelProperty
(
value
=
"组织编码"
)
private
Integer
orgcoding
;
@ApiModelProperty
(
value
=
"用户名"
)
private
String
username
;
@ApiModelProperty
(
value
=
"错误信息"
)
private
String
errmsg
;
}
src/main/java/com/tykj/zlbapp/util/XMLParse.java
0 → 100644
浏览文件 @
26d596ee
package
com
.
tykj
.
zlbapp
.
util
;
import
org.dom4j.*
;
import
org.dom4j.io.SAXReader
;
import
java.io.ByteArrayInputStream
;
import
java.io.UnsupportedEncodingException
;
import
java.util.*
;
/**
* @author zsp
* @version 1.0
* @date 2022/8/26 13:23
*/
public
class
XMLParse
{
public
static
Map
<
String
,
Object
>
getValueByNode
(
String
xml
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
try
{
Document
doc
=
DocumentHelper
.
parseText
(
xml
);
//搞一个map
Element
roots
=
doc
.
getRootElement
();
// System.out.println("根节点 = [" + roots.getName() + "]");
// System.out.println("内容:" + roots.getText());
map
.
put
(
"SSO"
,
roots
.
getText
());
Iterator
elements
=
roots
.
elementIterator
();
while
(
elements
.
hasNext
())
{
Element
child
=
(
Element
)
elements
.
next
();
map
.
put
(
child
.
getName
(),
child
.
getText
());
// System.out.println("节点名称 = [" + child.getName() + "]"+"节点内容:"+child.getText());
}
}
catch
(
DocumentException
e
)
{
e
.
printStackTrace
();
}
return
map
;
}
public
static
void
main
(
String
[]
args
)
{
String
returnMsg
=
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+
"<SSO>\n"
+
" <result>0</result>\n"
+
" <errmsg>成功</errmsg>\n"
+
" <token>8a118a50824addd60182d81efe705744-commonToken</token>\n"
+
" <userid>8a118a527527bd3901754dcec5c216f9</userid>\n"
+
" <loginname>zj410526199611145814</loginname>\n"
+
" <orgcoding>001006</orgcoding>\n"
+
" <username>周少攀</username>\n"
+
"</SSO>"
;
}
}
src/main/java/com/tykj/zlbapp/util/HttpClientUtil.java
→
src/main/java/com/tykj/zlbapp/util/
http/
HttpClientUtil.java
浏览文件 @
26d596ee
package
com
.
tykj
.
zlbapp
.
util
;
package
com
.
tykj
.
zlbapp
.
util
.
http
;
import
org.apache.http.*
;
...
...
src/main/java/com/tykj/zlbapp/util/HttpConnectionManager.java
→
src/main/java/com/tykj/zlbapp/util/
http/
HttpConnectionManager.java
浏览文件 @
26d596ee
package
com
.
tykj
.
zlbapp
.
util
;
package
com
.
tykj
.
zlbapp
.
util
.
http
;
import
org.apache.http.config.Registry
;
import
org.apache.http.config.RegistryBuilder
;
...
...
src/main/java/com/tykj/zlbapp/util/SslSelfSigned.java
→
src/main/java/com/tykj/zlbapp/util/
http/
SslSelfSigned.java
浏览文件 @
26d596ee
package
com
.
tykj
.
zlbapp
.
util
;
package
com
.
tykj
.
zlbapp
.
util
.
http
;
import
org.apache.http.conn.ssl.NoopHostnameVerifier
;
import
org.apache.http.conn.ssl.SSLConnectionSocketFactory
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论