Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
My_csdo
JustAuth
提交
f5de7f93
J
JustAuth
项目概览
My_csdo
/
JustAuth
与 Fork 源项目一致
Fork自
justauth / JustAuth
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JustAuth
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
f5de7f93
编写于
6月 19, 2019
作者:
智布道
👁
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🍻
解决Issue #IY1QR 增加对Config属性的校验功能,主要校验redirect uri的合法性
上级
e534a4b6
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
49 addition
and
5 deletion
+49
-5
src/main/java/me/zhyd/oauth/authorization/AuthorizationFactory.java
...ava/me/zhyd/oauth/authorization/AuthorizationFactory.java
+1
-1
src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java
src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java
+3
-1
src/main/java/me/zhyd/oauth/request/ResponseStatus.java
src/main/java/me/zhyd/oauth/request/ResponseStatus.java
+1
-0
src/main/java/me/zhyd/oauth/utils/AuthConfigChecker.java
src/main/java/me/zhyd/oauth/utils/AuthConfigChecker.java
+26
-2
src/main/java/me/zhyd/oauth/utils/GlobalAuthUtil.java
src/main/java/me/zhyd/oauth/utils/GlobalAuthUtil.java
+14
-0
update.md
update.md
+4
-1
未找到文件。
src/main/java/me/zhyd/oauth/authorization/AuthorizationFactory.java
浏览文件 @
f5de7f93
...
...
@@ -10,7 +10,7 @@ import java.util.Map;
/**
* 授权工厂类,负责创建指定平台的授权类获取授权地址
* <p>
* 使用策略模式 + 工厂模式 避免大量的if else(sw
a
tch)操作
* 使用策略模式 + 工厂模式 避免大量的if else(sw
i
tch)操作
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
...
...
src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java
浏览文件 @
f5de7f93
...
...
@@ -23,9 +23,11 @@ public abstract class BaseAuthRequest implements AuthRequest {
public
BaseAuthRequest
(
AuthConfig
config
,
AuthSource
source
)
{
this
.
config
=
config
;
this
.
source
=
source
;
if
(!
AuthConfigChecker
.
isSupportedAuth
(
config
))
{
if
(!
AuthConfigChecker
.
isSupportedAuth
(
config
,
source
))
{
throw
new
AuthException
(
ResponseStatus
.
PARAMETER_INCOMPLETE
);
}
// 校验配置合法性
AuthConfigChecker
.
check
(
config
,
source
);
}
protected
abstract
AuthToken
getAccessToken
(
String
code
);
...
...
src/main/java/me/zhyd/oauth/request/ResponseStatus.java
浏览文件 @
f5de7f93
...
...
@@ -13,6 +13,7 @@ public enum ResponseStatus {
UNSUPPORTED
(
5003
,
"Unsupported operation"
),
NO_AUTH_SOURCE
(
5004
,
"AuthSource cannot be null"
),
UNIDENTIFIED_PLATFORM
(
5005
,
"Unidentified platform"
),
ILLEGAL_REDIRECT_URI
(
5006
,
"Illegal redirect uri"
),
;
private
int
code
;
...
...
src/main/java/me/zhyd/oauth/utils/AuthConfigChecker.java
浏览文件 @
f5de7f93
package
me.zhyd.oauth.utils
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.request.ResponseStatus
;
/**
* 授权配置类的校验器
...
...
@@ -15,9 +18,30 @@ public class AuthConfigChecker {
* 是否支持第三方登录
*
* @param config config
* @param source source
* @return true or false
*/
public
static
boolean
isSupportedAuth
(
AuthConfig
config
)
{
return
StringUtils
.
isNotEmpty
(
config
.
getClientId
())
&&
StringUtils
.
isNotEmpty
(
config
.
getClientSecret
())
&&
StringUtils
.
isNotEmpty
(
config
.
getRedirectUri
());
public
static
boolean
isSupportedAuth
(
AuthConfig
config
,
AuthSource
source
)
{
boolean
isSupported
=
StringUtils
.
isNotEmpty
(
config
.
getClientId
())
&&
StringUtils
.
isNotEmpty
(
config
.
getClientSecret
())
&&
StringUtils
.
isNotEmpty
(
config
.
getRedirectUri
());
if
(
isSupported
&&
AuthSource
.
ALIPAY
==
source
)
{
isSupported
=
StringUtils
.
isNotEmpty
(
config
.
getAlipayPublicKey
());
}
return
isSupported
;
}
/**
* 检查配置合法性。针对部分平台, 对redirect uri有特定要求。一般来说redirect uri都是http://,而对于facebook平台, redirect uri 必须是https的链接
*
* @param config config
* @param source source
*/
public
static
void
check
(
AuthConfig
config
,
AuthSource
source
)
{
String
redirectUri
=
config
.
getRedirectUri
();
if
(!
GlobalAuthUtil
.
isHttpProtocol
(
redirectUri
)
&&
!
GlobalAuthUtil
.
isHttpsProtocol
(
redirectUri
))
{
throw
new
AuthException
(
ResponseStatus
.
ILLEGAL_REDIRECT_URI
);
}
if
(
AuthSource
.
FACEBOOK
==
source
&&
!
GlobalAuthUtil
.
isHttpsProtocol
(
redirectUri
))
{
throw
new
AuthException
(
ResponseStatus
.
ILLEGAL_REDIRECT_URI
);
}
}
}
src/main/java/me/zhyd/oauth/utils/GlobalAuthUtil.java
浏览文件 @
f5de7f93
...
...
@@ -84,4 +84,18 @@ public class GlobalAuthUtil {
}
return
res
;
}
public
static
boolean
isHttpProtocol
(
String
url
)
{
if
(
StringUtils
.
isEmpty
(
url
))
{
return
false
;
}
return
url
.
startsWith
(
"http://"
);
}
public
static
boolean
isHttpsProtocol
(
String
url
)
{
if
(
StringUtils
.
isEmpty
(
url
))
{
return
false
;
}
return
url
.
startsWith
(
"https://"
);
}
}
update.md
浏览文件 @
f5de7f93
### 2019/06/18
1.
解决Issue
[
#IY2HW
](
https://gitee.com/yadong.zhang/JustAuth/issues/IY2HW
)
1.
解决Issue
[
#IY2OH
](
https://gitee.com/yadong.zhang/JustAuth/issues/IY2OH
)
2.
解决Issue
[
#IY2OH
](
https://gitee.com/yadong.zhang/JustAuth/issues/IY2OH
)
3.
解决Issue
[
#IY2FV
](
https://gitee.com/yadong.zhang/JustAuth/issues/IY2FV
)
4.
修复部分注释、拼写错误
5.
解决Issue
[
#IY1QR
](
https://gitee.com/yadong.zhang/JustAuth/issues/IY1QR
)
增加对Config属性的校验功能,主要校验redirect uri的合法性
### 2019/06/06
1.
增加今日头条的授权登陆
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录