Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
符节科技
Jap
提交
66ec38d6
Jap
项目概览
符节科技
/
Jap
9 个月 前同步成功
通知
91
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 搜索 >>
提交
66ec38d6
编写于
5月 06, 2021
作者:
智布道
👁
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🍻
Add `authorizeAutoApproveUrl` attribute in `IdsConfig`
上级
06c67aae
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
3 deletion
+36
-3
jap-ids/src/main/java/com/fujieid/jap/ids/config/IdsConfig.java
...s/src/main/java/com/fujieid/jap/ids/config/IdsConfig.java
+14
-0
jap-ids/src/main/java/com/fujieid/jap/ids/endpoint/LoginEndpoint.java
...main/java/com/fujieid/jap/ids/endpoint/LoginEndpoint.java
+19
-1
jap-ids/src/main/java/com/fujieid/jap/ids/filter/AbstractIdsFilter.java
...in/java/com/fujieid/jap/ids/filter/AbstractIdsFilter.java
+3
-2
未找到文件。
jap-ids/src/main/java/com/fujieid/jap/ids/config/IdsConfig.java
浏览文件 @
66ec38d6
...
...
@@ -64,6 +64,11 @@ public class IdsConfig {
* Authorized url, the default is {@code issuer + /oauth/authorize}
*/
private
String
authorizeUrl
;
/**
* Automatically authorized url (do not display the authorization page), Must support get request method,
* the default is {@code issuer + /oauth/authorize/auto}
*/
private
String
authorizeAutoApproveUrl
;
/**
* token url, the default is {@code issuer + /oauth/token}
*/
...
...
@@ -190,6 +195,15 @@ public class IdsConfig {
return
this
;
}
public
String
getAuthorizeAutoApproveUrl
()
{
return
null
==
authorizeAutoApproveUrl
?
ObjectUtils
.
appendIfNotEndWith
(
issuer
,
IdsConsts
.
SLASH
)
+
"oauth/authorize/auto"
:
authorizeAutoApproveUrl
;
}
public
IdsConfig
setAuthorizeAutoApproveUrl
(
String
authorizeAutoApproveUrl
)
{
this
.
authorizeAutoApproveUrl
=
authorizeAutoApproveUrl
;
return
this
;
}
public
String
getTokenUrl
()
{
return
null
==
tokenUrl
?
ObjectUtils
.
appendIfNotEndWith
(
issuer
,
IdsConsts
.
SLASH
)
+
"oauth/token"
:
tokenUrl
;
}
...
...
jap-ids/src/main/java/com/fujieid/jap/ids/endpoint/LoginEndpoint.java
浏览文件 @
66ec38d6
...
...
@@ -16,12 +16,17 @@
package
com.fujieid.jap.ids.endpoint
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.fujieid.jap.ids.JapIds
;
import
com.fujieid.jap.ids.config.IdsConfig
;
import
com.fujieid.jap.ids.exception.IdsException
;
import
com.fujieid.jap.ids.model.ClientDetail
;
import
com.fujieid.jap.ids.model.IdsRequestParam
;
import
com.fujieid.jap.ids.model.IdsResponse
;
import
com.fujieid.jap.ids.model.UserInfo
;
import
com.fujieid.jap.ids.model.enums.ErrorResponse
;
import
com.fujieid.jap.ids.provider.IdsRequestParamProvider
;
import
com.fujieid.jap.ids.util.OauthUtil
;
import
com.fujieid.jap.ids.util.ObjectUtils
;
import
javax.servlet.http.HttpServletRequest
;
...
...
@@ -106,7 +111,20 @@ public class LoginEndpoint extends AbstractEndpoint {
}
JapIds
.
saveUserInfo
(
userInfo
,
request
);
IdsRequestParam
param
=
IdsRequestParamProvider
.
parseRequest
(
request
);
ClientDetail
clientDetail
=
JapIds
.
getContext
().
getClientDetailService
().
getByClientId
(
param
.
getClientId
());
OauthUtil
.
validClientDetail
(
clientDetail
);
String
redirectUri
=
null
;
// When the client supports automatic authorization, it will judge whether the {@code autoapprove} function is enabled
if
(
null
!=
clientDetail
.
getAutoApprove
()
&&
clientDetail
.
getAutoApprove
()
&&
StrUtil
.
isNotEmpty
(
param
.
getAutoapprove
())
&&
"TRUE"
.
equalsIgnoreCase
(
param
.
getAutoapprove
()))
{
redirectUri
=
JapIds
.
getIdsConfig
().
getAuthorizeAutoApproveUrl
();
}
else
{
redirectUri
=
JapIds
.
getIdsConfig
().
getConfirmPageUrl
();
}
return
new
IdsResponse
<
String
,
Object
>()
.
data
(
ObjectUtils
.
appendIfNotEndWith
(
JapIds
.
getIdsConfig
().
getConfirmPageUrl
()
,
"?"
)
+
request
.
getQueryString
());
.
data
(
ObjectUtils
.
appendIfNotEndWith
(
redirectUri
,
"?"
)
+
request
.
getQueryString
());
}
}
jap-ids/src/main/java/com/fujieid/jap/ids/filter/AbstractIdsFilter.java
浏览文件 @
66ec38d6
...
...
@@ -80,6 +80,7 @@ public class AbstractIdsFilter {
IdsConfig
config
=
JapIds
.
getIdsConfig
();
String
issuer
=
config
.
getIssuer
();
String
authorizeUrl
=
config
.
getAuthorizeUrl
();
String
authorizeAutoApproveUrl
=
config
.
getAuthorizeAutoApproveUrl
();
String
loginUrl
=
config
.
getLoginUrl
();
String
loginPageUrl
=
config
.
getLoginPageUrl
();
String
errorUrl
=
config
.
getErrorUrl
();
...
...
@@ -91,8 +92,8 @@ public class AbstractIdsFilter {
String
discoveryUrl
=
config
.
getDiscoveryUrl
();
String
logoutUrl
=
config
.
getLoginUrl
();
String
logoutRedirectUrl
=
config
.
getLogoutRedirectUrl
();
String
[]
urls
=
{
authorizeUrl
,
loginUrl
,
loginPageUrl
,
errorUrl
,
confirmPageUrl
,
token
Url
,
registrationUrl
,
jwksUrl
,
discoveryUrl
,
logoutUrl
,
logoutRedirectUrl
,
checkSessionUrl
};
String
[]
urls
=
{
authorizeUrl
,
authorizeAutoApproveUrl
,
loginUrl
,
loginPageUrl
,
errorUrl
,
confirmPage
Url
,
tokenUrl
,
registrationUrl
,
jwksUrl
,
discoveryUrl
,
logoutUrl
,
logoutRedirectUrl
,
checkSessionUrl
};
for
(
String
url
:
urls
)
{
if
(
StringUtil
.
isNotEmpty
(
url
)
&&
url
.
startsWith
(
issuer
))
{
this
.
ignoreUrls
.
add
(
url
.
substring
(
issuer
.
length
()));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录