Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
晓序
JustAuth
提交
2f88c234
J
JustAuth
项目概览
晓序
/
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2f88c234
编写于
6月 20, 2019
作者:
智布道
👁
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🔀
合并github中的pr
上级
cf74f811
变更
51
展开全部
隐藏空白更改
内联
并排
Showing
51 changed file
with
381 addition
and
824 deletion
+381
-824
README.md
README.md
+1
-1
pom.xml
pom.xml
+1
-1
src/main/java/me/zhyd/oauth/authorization/AlipayAuthorization.java
...java/me/zhyd/oauth/authorization/AlipayAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/Authorization.java
src/main/java/me/zhyd/oauth/authorization/Authorization.java
+0
-21
src/main/java/me/zhyd/oauth/authorization/AuthorizationFactory.java
...ava/me/zhyd/oauth/authorization/AuthorizationFactory.java
+0
-81
src/main/java/me/zhyd/oauth/authorization/BaiduAuthorization.java
.../java/me/zhyd/oauth/authorization/BaiduAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/CodingAuthorization.java
...java/me/zhyd/oauth/authorization/CodingAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/CsdnAuthorization.java
...n/java/me/zhyd/oauth/authorization/CsdnAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/DingTalkAuthorization.java
...va/me/zhyd/oauth/authorization/DingTalkAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/DouyinAuthorization.java
...java/me/zhyd/oauth/authorization/DouyinAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/FacebookAuthorization.java
...va/me/zhyd/oauth/authorization/FacebookAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/GiteeAuthorization.java
.../java/me/zhyd/oauth/authorization/GiteeAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/GithubAuthorization.java
...java/me/zhyd/oauth/authorization/GithubAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/GoogleAuthorization.java
...java/me/zhyd/oauth/authorization/GoogleAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/LinkedinAuthorization.java
...va/me/zhyd/oauth/authorization/LinkedinAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/MiAuthorization.java
...ain/java/me/zhyd/oauth/authorization/MiAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/MicrosoftAuthorization.java
...a/me/zhyd/oauth/authorization/MicrosoftAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/OschinaAuthorization.java
...ava/me/zhyd/oauth/authorization/OschinaAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/QqAuthorization.java
...ain/java/me/zhyd/oauth/authorization/QqAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/TaobaoAuthorization.java
...java/me/zhyd/oauth/authorization/TaobaoAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/TencentCloudAuthorization.java
...e/zhyd/oauth/authorization/TencentCloudAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/ToutiaoAuthorization.java
...ava/me/zhyd/oauth/authorization/ToutiaoAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/WeChatAuthorization.java
...java/me/zhyd/oauth/authorization/WeChatAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/authorization/WeiboAuthorization.java
.../java/me/zhyd/oauth/authorization/WeiboAuthorization.java
+0
-19
src/main/java/me/zhyd/oauth/config/AuthSource.java
src/main/java/me/zhyd/oauth/config/AuthSource.java
+10
-176
src/main/java/me/zhyd/oauth/model/AuthSource.java
src/main/java/me/zhyd/oauth/model/AuthSource.java
+0
-31
src/main/java/me/zhyd/oauth/model/AuthUser.java
src/main/java/me/zhyd/oauth/model/AuthUser.java
+1
-0
src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java
src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java
+14
-3
src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java
src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java
+15
-6
src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java
src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java
+12
-4
src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java
src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java
+14
-5
src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java
src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java
+16
-4
src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java
src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java
+15
-1
src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java
src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java
+13
-2
src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java
src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java
+14
-5
src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java
src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java
+14
-5
src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java
src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java
+11
-1
src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java
src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java
+25
-5
src/main/java/me/zhyd/oauth/request/AuthMiRequest.java
src/main/java/me/zhyd/oauth/request/AuthMiRequest.java
+15
-1
src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java
...main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java
+15
-1
src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java
src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java
+14
-5
src/main/java/me/zhyd/oauth/request/AuthQqRequest.java
src/main/java/me/zhyd/oauth/request/AuthQqRequest.java
+11
-1
src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java
src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java
+14
-5
src/main/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java
...n/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java
+12
-4
src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java
src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java
+15
-1
src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java
src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java
+15
-1
src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java
src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java
+13
-2
src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java
src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java
+7
-5
src/main/java/me/zhyd/oauth/utils/AuthConfigChecker.java
src/main/java/me/zhyd/oauth/utils/AuthConfigChecker.java
+1
-1
src/main/java/me/zhyd/oauth/utils/UrlBuilder.java
src/main/java/me/zhyd/oauth/utils/UrlBuilder.java
+68
-63
update.md
update.md
+5
-2
未找到文件。
README.md
浏览文件 @
2f88c234
...
...
@@ -6,7 +6,7 @@
</p>
<p
align=
"center"
>
<a
target=
"_blank"
href=
"https://search.maven.org/search?q=JustAuth"
>
<img
src=
"https://img.shields.io/badge/Maven Central-1.
6.1_beta
-blue.svg"
></img>
<img
src=
"https://img.shields.io/badge/Maven Central-1.
7.0
-blue.svg"
></img>
</a>
<a
target=
"_blank"
href=
"https://gitee.com/yadong.zhang/JustAuth/blob/master/LICENSE"
>
<img
src=
"https://img.shields.io/apm/l/vim-mode.svg?color=yellow"
></img>
...
...
pom.xml
浏览文件 @
2f88c234
...
...
@@ -6,7 +6,7 @@
<groupId>
me.zhyd.oauth
</groupId>
<artifactId>
JustAuth
</artifactId>
<version>
1.
6.1-beta
</version>
<version>
1.
7.0
</version>
<name>
JustAuth
</name>
<url>
https://gitee.com/yadong.zhang/JustAuth
</url>
...
...
src/main/java/me/zhyd/oauth/authorization/AlipayAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 支付宝授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
AlipayAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getAlipayAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/Authorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
/**
* 授权接口,用来获取具体第三方平台的授权地址
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
interface
Authorization
{
/**
* 获取授权页面地址
*
* @param config 授权基础配置
* @return 授权页面地址
*/
String
getAuthorizeUrl
(
AuthConfig
config
);
}
src/main/java/me/zhyd/oauth/authorization/AuthorizationFactory.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.request.ResponseStatus
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 授权工厂类,负责创建指定平台的授权类获取授权地址
* <p>
* 使用策略模式 + 工厂模式 避免大量的if else(switch)操作
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
AuthorizationFactory
{
private
static
Map
<
String
,
Authorization
>
authorizationMap
=
new
HashMap
<>();
private
static
boolean
loader
=
false
;
private
AuthorizationFactory
()
{
}
/**
* 根据第三方平台,获取具体的授权工具
*
* @param source 平台
* @return 具体的Authorization
*/
public
static
Authorization
getAuthorize
(
AuthSource
source
)
{
if
(
null
==
source
)
{
throw
new
AuthException
(
ResponseStatus
.
NO_AUTH_SOURCE
);
}
registerAllAuthorize
();
Authorization
authorization
=
authorizationMap
.
get
(
source
.
toString
());
if
(
null
==
authorization
)
{
throw
new
AuthException
(
ResponseStatus
.
UNIDENTIFIED_PLATFORM
);
}
return
authorization
;
}
/**
* 将所有Authorize的实现类注册到authorizeMap中,
* 每次增加新的平台都需要在这儿添加注册代码
*/
private
static
void
registerAllAuthorize
()
{
if
(
loader
)
{
return
;
}
AuthorizationFactory
.
register
(
AuthSource
.
ALIPAY
,
new
AlipayAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
BAIDU
,
new
BaiduAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
CODING
,
new
CodingAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
CSDN
,
new
CsdnAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
DINGTALK
,
new
DingTalkAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
GITEE
,
new
GiteeAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
GITHUB
,
new
GithubAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
GOOGLE
,
new
GoogleAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
OSCHINA
,
new
OschinaAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
QQ
,
new
QqAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
TAOBAO
,
new
TaobaoAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
TENCENT_CLOUD
,
new
TencentCloudAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
WECHAT
,
new
WeChatAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
WEIBO
,
new
WeiboAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
FACEBOOK
,
new
FacebookAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
DOUYIN
,
new
DouyinAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
LINKEDIN
,
new
LinkedinAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
MICROSOFT
,
new
MicrosoftAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
MI
,
new
MiAuthorization
());
AuthorizationFactory
.
register
(
AuthSource
.
TOUTIAO
,
new
ToutiaoAuthorization
());
loader
=
true
;
}
private
static
void
register
(
AuthSource
authSource
,
Authorization
authorization
)
{
authorizationMap
.
put
(
authSource
.
toString
(),
authorization
);
}
}
src/main/java/me/zhyd/oauth/authorization/BaiduAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 百度授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
BaiduAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getBaiduAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/CodingAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* Coding授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
CodingAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getCodingAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/CsdnAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* CSDN授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
CsdnAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getCsdnAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/DingTalkAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 钉钉授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
DingTalkAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getDingTalkQrConnectUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/DouyinAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 抖音授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
DouyinAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getDouyinAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/FacebookAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* Facebook授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.3
* @since 1.3
*/
public
class
FacebookAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getFacebookAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/GiteeAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 码云授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
GiteeAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getGiteeAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/GithubAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* Github授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
GithubAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getGithubAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/GoogleAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* Google授权
*
* @author yangkai.shen (https://xkcoding.com)
* @version 1.3
* @since 1.3
*/
public
class
GoogleAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getGoogleAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/LinkedinAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 领英授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
LinkedinAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getLinkedinAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/MiAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 小米授权
*
* @author yangkai.shen (https://xkcoding.com)
* @version 1.5
* @since 1.5
*/
public
class
MiAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getMiAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/MicrosoftAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 微软授权
*
* @author yangkai.shen (https://xkcoding.com)
* @version 1.5
* @since 1.5
*/
public
class
MicrosoftAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getMicrosoftAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/OschinaAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 开源中国授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
OschinaAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getOschinaAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/QqAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* QQ授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
QqAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getQqAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/TaobaoAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 淘宝授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
TaobaoAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getTaobaoAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/TencentCloudAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 腾讯云授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
TencentCloudAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getTencentCloudAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/ToutiaoAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 今日头条授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
ToutiaoAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getToutiaoAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/WeChatAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 微信授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
WeChatAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getWeChatAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/authorization/WeiboAuthorization.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.authorization
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 微博授权
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
class
WeiboAuthorization
implements
Authorization
{
@Override
public
String
getAuthorizeUrl
(
AuthConfig
config
)
{
return
UrlBuilder
.
getWeiboAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/con
sts/ApiUrl
.java
→
src/main/java/me/zhyd/oauth/con
fig/AuthSource
.java
浏览文件 @
2f88c234
package
me.zhyd.oauth.con
sts
;
package
me.zhyd.oauth.con
fig
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.request.ResponseStatus
;
...
...
@@ -10,7 +10,7 @@ import me.zhyd.oauth.request.ResponseStatus;
* @version 1.0
* @since 1.0
*/
public
enum
A
piUrl
{
public
enum
A
uthSource
{
/**
* Github
*/
...
...
@@ -29,16 +29,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://api.github.com/user"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* 新浪微博
...
...
@@ -58,16 +48,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://api.weibo.com/2/users/show.json"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* gitee
...
...
@@ -87,16 +67,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://gitee.com/api/v5/user"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* 钉钉
...
...
@@ -116,16 +86,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://oapi.dingtalk.com/sns/getuserinfo_bycode"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* 百度
...
...
@@ -150,11 +110,6 @@ public enum ApiUrl {
public
String
revoke
()
{
return
"https://openapi.baidu.com/rest/2.0/passport/auth/revokeAuthorization"
;
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* csdn
...
...
@@ -174,16 +129,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://api.csdn.net/user/getinfo"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* Coding
...
...
@@ -203,21 +148,11 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://coding.net/api/account/current_user"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* 腾讯云开发者平台(coding升级后就变成腾讯云开发者平台了)
*/
TENCENTCLOUD
{
TENCENT
_
CLOUD
{
@Override
public
String
authorize
()
{
return
"https://dev.tencent.com/oauth_authorize.html"
;
...
...
@@ -232,16 +167,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://dev.tencent.com/api/account/current_user"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* oschina 开源中国
...
...
@@ -261,16 +186,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://www.oschina.net/action/openapi/user"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* 支付宝
...
...
@@ -290,16 +205,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://openapi.alipay.com/gateway.do"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* QQ
...
...
@@ -319,16 +224,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://graph.qq.com/user/get_user_info"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* 微信
...
...
@@ -349,11 +244,6 @@ public enum ApiUrl {
return
"https://api.weixin.qq.com/sns/userinfo"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
return
"https://api.weixin.qq.com/sns/oauth2/refresh_token"
;
...
...
@@ -377,16 +267,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* Google
...
...
@@ -406,16 +286,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://oauth2.googleapis.com/tokeninfo"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* Facebook
...
...
@@ -435,16 +305,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://graph.facebook.com/v3.3/me"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
},
/**
* 抖音
...
...
@@ -465,11 +325,6 @@ public enum ApiUrl {
return
"https://open.douyin.com/oauth/userinfo"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
return
"https://open.douyin.com/oauth/refresh_token"
;
...
...
@@ -494,11 +349,6 @@ public enum ApiUrl {
return
"https://api.linkedin.com/v2/me"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
return
"https://www.linkedin.com/oauth/v2/accessToken"
;
...
...
@@ -523,11 +373,6 @@ public enum ApiUrl {
return
"https://graph.microsoft.com/v1.0/me"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
return
"https://login.microsoftonline.com/common/oauth2/v2.0/token"
;
...
...
@@ -552,11 +397,6 @@ public enum ApiUrl {
return
"https://open.account.xiaomi.com/user/profile"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
return
"https://account.xiaomi.com/oauth2/token"
;
...
...
@@ -580,16 +420,6 @@ public enum ApiUrl {
public
String
userInfo
()
{
return
"https://open.snssdk.com/data/user_profile"
;
}
@Override
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
@Override
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
};
/**
...
...
@@ -618,13 +448,17 @@ public enum ApiUrl {
*
* @return url
*/
public
abstract
String
revoke
();
public
String
revoke
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
/**
* 刷新授权的api
*
* @return url
*/
public
abstract
String
refresh
();
public
String
refresh
()
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
}
}
\ No newline at end of file
src/main/java/me/zhyd/oauth/model/AuthSource.java
已删除
100644 → 0
浏览文件 @
cf74f811
package
me.zhyd.oauth.model
;
/**
* 授权来源(平台)
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0
* @since 1.8
*/
public
enum
AuthSource
{
GITHUB
,
GITEE
,
WEIBO
,
DINGTALK
,
BAIDU
,
CSDN
,
CODING
,
OSCHINA
,
TENCENT_CLOUD
,
ALIPAY
,
TAOBAO
,
QQ
,
WECHAT
,
GOOGLE
,
FACEBOOK
,
DOUYIN
,
LINKEDIN
,
MICROSOFT
,
MI
,
TOUTIAO
}
src/main/java/me/zhyd/oauth/model/AuthUser.java
浏览文件 @
2f88c234
...
...
@@ -2,6 +2,7 @@ package me.zhyd.oauth.model;
import
lombok.Builder
;
import
lombok.Data
;
import
me.zhyd.oauth.config.AuthSource
;
/**
* 授权成功后的用户信息,根据授权平台的不同,获取的数据完整性也不同
...
...
src/main/java/me/zhyd/oauth/request/AuthAlipayRequest.java
浏览文件 @
2f88c234
...
...
@@ -8,13 +8,13 @@ import com.alipay.api.request.AlipayUserInfoShareRequest;
import
com.alipay.api.response.AlipaySystemOauthTokenResponse
;
import
com.alipay.api.response.AlipayUserInfoShareResponse
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.con
sts.ApiUrl
;
import
me.zhyd.oauth.con
fig.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
import
me.zhyd.oauth.utils.StringUtils
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
* 支付宝登录
...
...
@@ -29,7 +29,8 @@ public class AuthAlipayRequest extends BaseAuthRequest {
public
AuthAlipayRequest
(
AuthConfig
config
)
{
super
(
config
,
AuthSource
.
ALIPAY
);
this
.
alipayClient
=
new
DefaultAlipayClient
(
ApiUrl
.
ALIPAY
.
accessToken
(),
config
.
getClientId
(),
config
.
getClientSecret
(),
"json"
,
"UTF-8"
,
config
.
getAlipayPublicKey
(),
"RSA2"
);
this
.
alipayClient
=
new
DefaultAlipayClient
(
AuthSource
.
ALIPAY
.
accessToken
(),
config
.
getClientId
(),
config
.
getClientSecret
(),
"json"
,
"UTF-8"
,
config
.
getAlipayPublicKey
(),
"RSA2"
);
}
@Override
...
...
@@ -83,4 +84,14 @@ public class AuthAlipayRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
ALIPAY
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getAlipayAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthBaiduRequest.java
浏览文件 @
2f88c234
...
...
@@ -3,8 +3,8 @@ package me.zhyd.oauth.request;
import
cn.hutool.http.HttpRequest
;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.*
;
import
me.zhyd.oauth.utils.UrlBuilder
;
...
...
@@ -24,16 +24,15 @@ public class AuthBaiduRequest extends BaseAuthRequest {
@Override
protected
AuthToken
getAccessToken
(
String
code
)
{
String
accessTokenUrl
=
UrlBuilder
.
getBaiduAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
String
accessTokenUrl
=
UrlBuilder
.
getBaiduAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
HttpResponse
response
=
HttpRequest
.
post
(
accessTokenUrl
).
execute
();
JSONObject
accessTokenObject
=
JSONObject
.
parseObject
(
response
.
body
());
AuthBaiduErrorCode
errorCode
=
AuthBaiduErrorCode
.
getErrorCode
(
accessTokenObject
.
getString
(
"error"
));
if
(!
AuthBaiduErrorCode
.
OK
.
equals
(
errorCode
))
{
throw
new
AuthException
(
errorCode
.
getDesc
());
}
return
AuthToken
.
builder
()
.
accessToken
(
accessTokenObject
.
getString
(
"access_token"
))
.
build
();
return
AuthToken
.
builder
().
accessToken
(
accessTokenObject
.
getString
(
"access_token"
)).
build
();
}
@Override
...
...
@@ -56,13 +55,23 @@ public class AuthBaiduRequest extends BaseAuthRequest {
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getBaiduAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
@Override
public
AuthResponse
revoke
(
AuthToken
authToken
)
{
String
accessToken
=
authToken
.
getAccessToken
();
HttpResponse
response
=
HttpRequest
.
get
(
UrlBuilder
.
getBaiduRevokeUrl
(
accessToken
)).
execute
();
String
userInfo
=
response
.
body
();
JSONObject
object
=
JSONObject
.
parseObject
(
userInfo
);
if
(
object
.
containsKey
(
"error_code"
))
{
if
(
object
.
containsKey
(
"error_code"
))
{
return
AuthResponse
.
builder
()
.
code
(
ResponseStatus
.
FAILURE
.
getCode
())
.
msg
(
object
.
getString
(
"error_msg"
))
...
...
src/main/java/me/zhyd/oauth/request/AuthCodingRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -32,9 +32,7 @@ public class AuthCodingRequest extends BaseAuthRequest {
if
(
accessTokenObject
.
getIntValue
(
"code"
)
!=
0
)
{
throw
new
AuthException
(
"Unable to get token from coding using code ["
+
code
+
"]"
);
}
return
AuthToken
.
builder
()
.
accessToken
(
accessTokenObject
.
getString
(
"access_token"
))
.
build
();
return
AuthToken
.
builder
().
accessToken
(
accessTokenObject
.
getString
(
"access_token"
)).
build
();
}
@Override
...
...
@@ -62,4 +60,14 @@ public class AuthCodingRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
CODING
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getCodingAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthCsdnRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -26,15 +26,14 @@ public class AuthCsdnRequest extends BaseAuthRequest {
@Override
protected
AuthToken
getAccessToken
(
String
code
)
{
String
accessTokenUrl
=
UrlBuilder
.
getCsdnAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
String
accessTokenUrl
=
UrlBuilder
.
getCsdnAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
HttpResponse
response
=
HttpRequest
.
post
(
accessTokenUrl
).
execute
();
JSONObject
accessTokenObject
=
JSONObject
.
parseObject
(
response
.
body
());
if
(
accessTokenObject
.
containsKey
(
"error_code"
))
{
throw
new
AuthException
(
"Unable to get token from csdn using code ["
+
code
+
"]"
);
}
return
AuthToken
.
builder
()
.
accessToken
(
accessTokenObject
.
getString
(
"access_token"
))
.
build
();
return
AuthToken
.
builder
().
accessToken
(
accessTokenObject
.
getString
(
"access_token"
)).
build
();
}
@Override
...
...
@@ -55,4 +54,14 @@ public class AuthCsdnRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
CSDN
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getCsdnAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthDingTalkRequest.java
浏览文件 @
2f88c234
...
...
@@ -5,8 +5,12 @@ import cn.hutool.http.HttpResponse;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.*
;
import
me.zhyd.oauth.model.AuthDingTalkErrorCode
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
import
me.zhyd.oauth.utils.GlobalAuthUtil
;
import
me.zhyd.oauth.utils.UrlBuilder
;
...
...
@@ -25,9 +29,7 @@ public class AuthDingTalkRequest extends BaseAuthRequest {
@Override
protected
AuthToken
getAccessToken
(
String
code
)
{
return
AuthToken
.
builder
()
.
accessCode
(
code
)
.
build
();
return
AuthToken
.
builder
().
accessCode
(
code
).
build
();
}
@Override
...
...
@@ -61,4 +63,14 @@ public class AuthDingTalkRequest extends BaseAuthRequest {
.
token
(
token
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getDingTalkQrConnectUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthDouyinRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,12 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.*
;
import
me.zhyd.oauth.model.AuthResponse
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
import
me.zhyd.oauth.utils.UrlBuilder
;
...
...
@@ -48,6 +52,16 @@ public class AuthDouyinRequest extends BaseAuthRequest {
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getDouyinAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
@Override
public
AuthResponse
refresh
(
AuthToken
oldToken
)
{
String
refreshTokenUrl
=
UrlBuilder
.
getDouyinRefreshUrl
(
config
.
getClientId
(),
oldToken
.
getRefreshToken
());
...
...
src/main/java/me/zhyd/oauth/request/AuthFacebookRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -26,7 +26,8 @@ public class AuthFacebookRequest extends BaseAuthRequest {
@Override
protected
AuthToken
getAccessToken
(
String
code
)
{
String
accessTokenUrl
=
UrlBuilder
.
getFacebookAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
String
accessTokenUrl
=
UrlBuilder
.
getFacebookAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
HttpResponse
response
=
HttpRequest
.
post
(
accessTokenUrl
).
execute
();
JSONObject
object
=
JSONObject
.
parseObject
(
response
.
body
());
...
...
@@ -70,4 +71,14 @@ public class AuthFacebookRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
FACEBOOK
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getFacebookAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthGiteeRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -26,15 +26,14 @@ public class AuthGiteeRequest extends BaseAuthRequest {
@Override
protected
AuthToken
getAccessToken
(
String
code
)
{
String
accessTokenUrl
=
UrlBuilder
.
getGiteeAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
String
accessTokenUrl
=
UrlBuilder
.
getGiteeAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
HttpResponse
response
=
HttpRequest
.
post
(
accessTokenUrl
).
execute
();
JSONObject
accessTokenObject
=
JSONObject
.
parseObject
(
response
.
body
());
if
(
accessTokenObject
.
containsKey
(
"error"
))
{
throw
new
AuthException
(
"Unable to get token from gitee using code ["
+
code
+
"]"
);
}
return
AuthToken
.
builder
()
.
accessToken
(
accessTokenObject
.
getString
(
"access_token"
))
.
build
();
return
AuthToken
.
builder
().
accessToken
(
accessTokenObject
.
getString
(
"access_token"
)).
build
();
}
@Override
...
...
@@ -58,4 +57,14 @@ public class AuthGiteeRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
GITEE
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getGiteeAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthGithubRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -29,15 +29,14 @@ public class AuthGithubRequest extends BaseAuthRequest {
@Override
protected
AuthToken
getAccessToken
(
String
code
)
{
String
accessTokenUrl
=
UrlBuilder
.
getGithubAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
String
accessTokenUrl
=
UrlBuilder
.
getGithubAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
HttpResponse
response
=
HttpRequest
.
post
(
accessTokenUrl
).
execute
();
Map
<
String
,
String
>
res
=
GlobalAuthUtil
.
parseStringToMap
(
response
.
body
());
if
(
res
.
containsKey
(
"error"
))
{
throw
new
AuthException
(
res
.
get
(
"error"
)
+
":"
+
res
.
get
(
"error_description"
));
}
return
AuthToken
.
builder
()
.
accessToken
(
res
.
get
(
"access_token"
))
.
build
();
return
AuthToken
.
builder
().
accessToken
(
res
.
get
(
"access_token"
)).
build
();
}
@Override
...
...
@@ -61,4 +60,14 @@ public class AuthGithubRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
GITHUB
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getGithubAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthGoogleRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -63,4 +63,14 @@ public class AuthGoogleRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
GOOGLE
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getGoogleAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthLinkedinRequest.java
浏览文件 @
2f88c234
...
...
@@ -5,8 +5,12 @@ import cn.hutool.http.HttpResponse;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.*
;
import
me.zhyd.oauth.model.AuthResponse
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
import
me.zhyd.oauth.utils.StringUtils
;
import
me.zhyd.oauth.utils.UrlBuilder
;
...
...
@@ -26,7 +30,8 @@ public class AuthLinkedinRequest extends BaseAuthRequest {
@Override
protected
AuthToken
getAccessToken
(
String
code
)
{
String
accessTokenUrl
=
UrlBuilder
.
getLinkedinAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
String
accessTokenUrl
=
UrlBuilder
.
getLinkedinAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
return
this
.
getToken
(
accessTokenUrl
);
}
...
...
@@ -62,7 +67,8 @@ public class AuthLinkedinRequest extends BaseAuthRequest {
String
avatar
=
null
;
JSONObject
profilePictureObject
=
userInfoObject
.
getJSONObject
(
"profilePicture"
);
if
(
profilePictureObject
.
containsKey
(
"displayImage~"
))
{
JSONArray
displayImageElements
=
profilePictureObject
.
getJSONObject
(
"displayImage~"
).
getJSONArray
(
"elements"
);
JSONArray
displayImageElements
=
profilePictureObject
.
getJSONObject
(
"displayImage~"
)
.
getJSONArray
(
"elements"
);
if
(
null
!=
displayImageElements
&&
displayImageElements
.
size
()
>
0
)
{
JSONObject
largestImageObj
=
displayImageElements
.
getJSONObject
(
displayImageElements
.
size
()
-
1
);
avatar
=
largestImageObj
.
getJSONArray
(
"identifiers"
).
getJSONObject
(
0
).
getString
(
"identifier"
);
...
...
@@ -83,6 +89,16 @@ public class AuthLinkedinRequest extends BaseAuthRequest {
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getLinkedinAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
private
String
getUserEmail
(
String
accessToken
)
{
String
email
=
null
;
HttpResponse
emailResponse
=
HttpRequest
.
get
(
"https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))"
)
...
...
@@ -93,7 +109,10 @@ public class AuthLinkedinRequest extends BaseAuthRequest {
System
.
out
.
println
(
emailResponse
.
body
());
JSONObject
emailObj
=
JSONObject
.
parseObject
(
emailResponse
.
body
());
if
(
emailObj
.
containsKey
(
"elements"
))
{
email
=
emailObj
.
getJSONArray
(
"elements"
).
getJSONObject
(
0
).
getJSONObject
(
"handle~"
).
getString
(
"emailAddress"
);
email
=
emailObj
.
getJSONArray
(
"elements"
)
.
getJSONObject
(
0
)
.
getJSONObject
(
"handle~"
)
.
getString
(
"emailAddress"
);
}
return
email
;
}
...
...
@@ -112,7 +131,8 @@ public class AuthLinkedinRequest extends BaseAuthRequest {
if
(
StringUtils
.
isEmpty
(
oldToken
.
getRefreshToken
()))
{
throw
new
AuthException
(
ResponseStatus
.
UNSUPPORTED
);
}
String
refreshTokenUrl
=
UrlBuilder
.
getLinkedinRefreshUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
oldToken
.
getRefreshToken
());
String
refreshTokenUrl
=
UrlBuilder
.
getLinkedinRefreshUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
oldToken
.
getRefreshToken
());
return
AuthResponse
.
builder
()
.
code
(
ResponseStatus
.
SUCCESS
.
getCode
())
.
data
(
this
.
getToken
(
refreshTokenUrl
))
...
...
src/main/java/me/zhyd/oauth/request/AuthMiRequest.java
浏览文件 @
2f88c234
...
...
@@ -5,8 +5,12 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.*
;
import
me.zhyd.oauth.model.AuthResponse
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
import
me.zhyd.oauth.utils.UrlBuilder
;
import
java.text.MessageFormat
;
...
...
@@ -90,6 +94,16 @@ public class AuthMiRequest extends BaseAuthRequest {
return
authUser
;
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getMiAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
/**
* 刷新access token (续期)
*
...
...
src/main/java/me/zhyd/oauth/request/AuthMicrosoftRequest.java
浏览文件 @
2f88c234
...
...
@@ -5,8 +5,12 @@ import cn.hutool.http.HttpResponse;
import
cn.hutool.http.HttpUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.*
;
import
me.zhyd.oauth.model.AuthResponse
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
import
me.zhyd.oauth.utils.UrlBuilder
;
import
java.util.HashMap
;
...
...
@@ -88,6 +92,16 @@ public class AuthMicrosoftRequest extends BaseAuthRequest {
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getMicrosoftAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
/**
* 刷新access token (续期)
*
...
...
src/main/java/me/zhyd/oauth/request/AuthOschinaRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -26,15 +26,14 @@ public class AuthOschinaRequest extends BaseAuthRequest {
@Override
protected
AuthToken
getAccessToken
(
String
code
)
{
String
accessTokenUrl
=
UrlBuilder
.
getOschinaAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
String
accessTokenUrl
=
UrlBuilder
.
getOschinaAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
HttpResponse
response
=
HttpRequest
.
post
(
accessTokenUrl
).
execute
();
JSONObject
accessTokenObject
=
JSONObject
.
parseObject
(
response
.
body
());
if
(
accessTokenObject
.
containsKey
(
"error"
))
{
throw
new
AuthException
(
"Unable to get token from oschina using code ["
+
code
+
"]"
);
}
return
AuthToken
.
builder
()
.
accessToken
(
accessTokenObject
.
getString
(
"access_token"
))
.
build
();
return
AuthToken
.
builder
().
accessToken
(
accessTokenObject
.
getString
(
"access_token"
)).
build
();
}
@Override
...
...
@@ -58,4 +57,14 @@ public class AuthOschinaRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
OSCHINA
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getOschinaAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthQqRequest.java
浏览文件 @
2f88c234
...
...
@@ -5,8 +5,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -73,6 +73,16 @@ public class AuthQqRequest extends BaseAuthRequest {
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getQqAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
private
String
getOpenId
(
AuthToken
authToken
)
{
String
accessToken
=
authToken
.
getAccessToken
();
HttpResponse
response
=
HttpRequest
.
get
(
UrlBuilder
.
getQqOpenidUrl
(
"https://graph.qq.com/oauth2.0/me"
,
accessToken
))
...
...
src/main/java/me/zhyd/oauth/request/AuthTaobaoRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -27,15 +27,14 @@ public class AuthTaobaoRequest extends BaseAuthRequest {
@Override
protected
AuthToken
getAccessToken
(
String
code
)
{
return
AuthToken
.
builder
()
.
accessCode
(
code
)
.
build
();
return
AuthToken
.
builder
().
accessCode
(
code
).
build
();
}
@Override
protected
AuthUser
getUserInfo
(
AuthToken
authToken
)
{
String
accessCode
=
authToken
.
getAccessCode
();
HttpResponse
response
=
HttpRequest
.
post
(
UrlBuilder
.
getTaobaoAccessTokenUrl
(
this
.
config
.
getClientId
(),
this
.
config
.
getClientSecret
(),
accessCode
,
this
.
config
.
getRedirectUri
())).
execute
();
HttpResponse
response
=
HttpRequest
.
post
(
UrlBuilder
.
getTaobaoAccessTokenUrl
(
this
.
config
.
getClientId
(),
this
.
config
.
getClientSecret
(),
accessCode
,
this
.
config
.
getRedirectUri
())).
execute
();
JSONObject
object
=
JSONObject
.
parseObject
(
response
.
body
());
if
(
object
.
containsKey
(
"error"
))
{
throw
new
AuthException
(
ResponseStatus
.
FAILURE
+
":"
+
object
.
getString
(
"error_description"
));
...
...
@@ -56,4 +55,14 @@ public class AuthTaobaoRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
TAOBAO
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getTaobaoAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthTencentCloudRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -32,9 +32,7 @@ public class AuthTencentCloudRequest extends BaseAuthRequest {
if
(
object
.
getIntValue
(
"code"
)
!=
0
)
{
throw
new
AuthException
(
"Unable to get token from tencent cloud using code ["
+
code
+
"]: "
+
object
.
get
(
"msg"
));
}
return
AuthToken
.
builder
()
.
accessToken
(
object
.
getString
(
"access_token"
))
.
build
();
return
AuthToken
.
builder
().
accessToken
(
object
.
getString
(
"access_token"
)).
build
();
}
@Override
...
...
@@ -61,4 +59,14 @@ public class AuthTencentCloudRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
TENCENT_CLOUD
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getTencentCloudAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthToutiaoRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,12 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.*
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthToutiaoErrorCode
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
...
...
@@ -64,4 +68,14 @@ public class AuthToutiaoRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
TOUTIAO
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getToutiaoAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/AuthWeChatRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,12 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.*
;
import
me.zhyd.oauth.model.AuthResponse
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
...
...
@@ -55,6 +59,16 @@ public class AuthWeChatRequest extends BaseAuthRequest {
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getWeChatAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
@Override
public
AuthResponse
refresh
(
AuthToken
oldToken
)
{
String
refreshTokenUrl
=
UrlBuilder
.
getWeChatRefreshUrl
(
config
.
getClientId
(),
oldToken
.
getRefreshToken
());
...
...
src/main/java/me/zhyd/oauth/request/AuthWeiboRequest.java
浏览文件 @
2f88c234
...
...
@@ -4,8 +4,8 @@ import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSONObject
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.model.AuthUserGender
;
...
...
@@ -29,7 +29,8 @@ public class AuthWeiboRequest extends BaseAuthRequest {
@Override
protected
AuthToken
getAccessToken
(
String
code
)
{
String
accessTokenUrl
=
UrlBuilder
.
getWeiboAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
String
accessTokenUrl
=
UrlBuilder
.
getWeiboAccessTokenUrl
(
config
.
getClientId
(),
config
.
getClientSecret
(),
code
,
config
.
getRedirectUri
());
HttpResponse
response
=
HttpRequest
.
post
(
accessTokenUrl
).
execute
();
String
accessTokenStr
=
response
.
body
();
JSONObject
accessTokenObject
=
JSONObject
.
parseObject
(
accessTokenStr
);
...
...
@@ -70,4 +71,14 @@ public class AuthWeiboRequest extends BaseAuthRequest {
.
source
(
AuthSource
.
WEIBO
)
.
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
UrlBuilder
.
getWeiboAuthorizeUrl
(
config
.
getClientId
(),
config
.
getRedirectUri
());
}
}
src/main/java/me/zhyd/oauth/request/BaseAuthRequest.java
浏览文件 @
2f88c234
package
me.zhyd.oauth.request
;
import
lombok.Data
;
import
me.zhyd.oauth.authorization.AuthorizationFactory
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthResponse
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.utils.AuthConfigChecker
;
...
...
@@ -53,8 +52,11 @@ public abstract class BaseAuthRequest implements AuthRequest {
return
AuthResponse
.
builder
().
code
(
errorCode
).
msg
(
e
.
getMessage
()).
build
();
}
/**
* 返回认证url,可自行跳转页面
*
* @return 返回授权地址
*/
@Override
public
String
authorize
()
{
return
AuthorizationFactory
.
getAuthorize
(
source
).
getAuthorizeUrl
(
config
);
}
public
abstract
String
authorize
();
}
src/main/java/me/zhyd/oauth/utils/AuthConfigChecker.java
浏览文件 @
2f88c234
package
me.zhyd.oauth.utils
;
import
me.zhyd.oauth.config.AuthConfig
;
import
me.zhyd.oauth.config.AuthSource
;
import
me.zhyd.oauth.exception.AuthException
;
import
me.zhyd.oauth.model.AuthSource
;
import
me.zhyd.oauth.request.ResponseStatus
;
/**
...
...
src/main/java/me/zhyd/oauth/utils/UrlBuilder.java
浏览文件 @
2f88c234
此差异已折叠。
点击以展开。
update.md
浏览文件 @
2f88c234
### 2019/06/18
### 2019/06/19
1.
合并
[
xkcoding
](
https://github.com/xkcoding
)
提交的
[
PR
](
https://github.com/zhangyd-c/JustAuth/pull/14
)
,重构了部分代码,jar包由原来的
`130+kb`
优化到现在的
`110+kb`
### 2019/06/18
1.
解决Issue
[
#IY2HW
](
https://gitee.com/yadong.zhang/JustAuth/issues/IY2HW
)
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的合法性
6.
合并
[
skqing
](
https://gitee.com/skqing
)
提交的
[
PR
](
https://gitee.com/yadong.zhang/JustAuth/pulls/2
)
6.
合并
[
skqing
](
https://gitee.com/skqing
)
提交的
[
PR
](
https://gitee.com/yadong.zhang/JustAuth/pulls/2
)
,解决一些BUG
### 2019/06/06
1.
增加今日头条的授权登陆
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录