Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
符节科技
Jap
提交
42b3555f
Jap
项目概览
符节科技
/
Jap
9 个月 前同步成功
通知
90
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Jap
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
42b3555f
编写于
7月 28, 2021
作者:
智布道
👁
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🚑
Optimize code
上级
8074abd3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
19 deletion
+26
-19
jap-ids/src/main/java/com/fujieid/jap/ids/provider/IdsTokenProvider.java
...n/java/com/fujieid/jap/ids/provider/IdsTokenProvider.java
+26
-19
未找到文件。
jap-ids/src/main/java/com/fujieid/jap/ids/provider/IdsTokenProvider.java
浏览文件 @
42b3555f
...
...
@@ -15,6 +15,8 @@
*/
package
com.fujieid.jap.ids.provider
;
import
cn.hutool.log.Log
;
import
cn.hutool.log.LogFactory
;
import
com.fujieid.jap.ids.JapIds
;
import
com.fujieid.jap.ids.exception.IdsException
;
import
com.fujieid.jap.ids.model.*
;
...
...
@@ -36,6 +38,7 @@ import javax.servlet.http.HttpServletRequest;
* @since 1.0.0
*/
public
class
IdsTokenProvider
{
private
static
final
Log
log
=
LogFactory
.
get
();
private
final
Oauth2Service
oauth2Service
;
...
...
@@ -170,30 +173,34 @@ public class IdsTokenProvider {
public
IdsResponse
<
String
,
Object
>
generateRefreshTokenResponse
(
IdsRequestParam
param
,
HttpServletRequest
request
)
{
TokenUtil
.
validateRefreshToken
(
param
.
getRefreshToken
());
AccessToken
token
=
TokenUtil
.
getByRefreshToken
(
param
.
getRefreshToken
());
ClientDetail
clientDetail
=
null
;
try
{
AccessToken
token
=
TokenUtil
.
getByRefreshToken
(
param
.
getRefreshToken
());
ClientDetail
clientDetail
=
JapIds
.
getContext
().
getClientDetailService
().
getByClientId
(
token
.
getClientId
());
String
requestScope
=
param
.
getScope
();
clientDetail
=
JapIds
.
getContext
().
getClientDetailService
().
getByClientId
(
token
.
getClientId
());
}
catch
(
Exception
e
)
{
log
.
error
(
e
);
throw
new
IdsException
(
ErrorResponse
.
INVALID_CLIENT
);
}
OauthUtil
.
validClientDetail
(
clientDetail
);
OauthUtil
.
validateScope
(
requestScope
,
clientDetail
.
getScopes
());
OauthUtil
.
validateGrantType
(
param
.
getGrantType
(),
clientDetail
.
getGrantTypes
(),
GrantType
.
REFRESH_TOKEN
);
OauthUtil
.
validateSecret
(
param
,
clientDetail
,
oauth2Service
);
String
requestScope
=
param
.
getScope
();
UserInfo
user
=
JapIds
.
getContext
().
getUserService
().
getById
(
token
.
getUserId
());
OauthUtil
.
validClientDetail
(
clientDetail
);
OauthUtil
.
validateScope
(
requestScope
,
clientDetail
.
getScopes
());
OauthUtil
.
validateGrantType
(
param
.
getGrantType
(),
clientDetail
.
getGrantTypes
(),
GrantType
.
REFRESH_TOKEN
);
OauthUtil
.
validateSecret
(
param
,
clientDetail
,
oauth2Service
);
long
expiresIn
=
OauthUtil
.
getRefreshTokenExpiresIn
(
clientDetail
.
getRefreshTokenExpiresIn
());
UserInfo
user
=
JapIds
.
getContext
().
getUserService
().
getById
(
token
.
getUserId
());
AccessToken
accessToken
=
TokenUtil
.
refreshAccessToken
(
user
,
clientDetail
,
token
,
param
.
getNonce
(),
EndpointUtil
.
getIssuer
(
request
));
return
new
IdsResponse
<
String
,
Object
>()
.
add
(
IdsConsts
.
ACCESS_TOKEN
,
accessToken
.
getAccessToken
())
.
add
(
IdsConsts
.
REFRESH_TOKEN
,
accessToken
.
getRefreshToken
())
.
add
(
IdsConsts
.
EXPIRES_IN
,
expiresIn
)
.
add
(
IdsConsts
.
TOKEN_TYPE
,
IdsConsts
.
TOKEN_TYPE_BEARER
)
.
add
(
IdsConsts
.
SCOPE
,
requestScope
);
}
catch
(
Exception
e
)
{
throw
new
IdsException
(
ErrorResponse
.
SERVER_ERROR
);
}
long
expiresIn
=
OauthUtil
.
getRefreshTokenExpiresIn
(
clientDetail
.
getRefreshTokenExpiresIn
());
AccessToken
accessToken
=
TokenUtil
.
refreshAccessToken
(
user
,
clientDetail
,
token
,
param
.
getNonce
(),
EndpointUtil
.
getIssuer
(
request
));
return
new
IdsResponse
<
String
,
Object
>()
.
add
(
IdsConsts
.
ACCESS_TOKEN
,
accessToken
.
getAccessToken
())
.
add
(
IdsConsts
.
REFRESH_TOKEN
,
accessToken
.
getRefreshToken
())
.
add
(
IdsConsts
.
EXPIRES_IN
,
expiresIn
)
.
add
(
IdsConsts
.
TOKEN_TYPE
,
IdsConsts
.
TOKEN_TYPE_BEARER
)
.
add
(
IdsConsts
.
SCOPE
,
requestScope
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录