Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
justauth
JustAuth
提交
822b4806
J
JustAuth
项目概览
justauth
/
JustAuth
1 年多 前同步成功
通知
391
Star
15212
Fork
2708
代码
文件
提交
分支
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看板
提交
822b4806
编写于
12月 24, 2019
作者:
智布道
👁
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🍻
调整微信平台获取用户性别的代码逻辑,单独适配微信平台
上级
ab8c24ee
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
49 addition
and
36 deletion
+49
-36
.gitignore
.gitignore
+2
-1
docs/update.md
docs/update.md
+19
-13
src/main/java/me/zhyd/oauth/enums/AuthUserGender.java
src/main/java/me/zhyd/oauth/enums/AuthUserGender.java
+24
-3
src/main/java/me/zhyd/oauth/request/AuthWeChatEnterpriseRequest.java
...va/me/zhyd/oauth/request/AuthWeChatEnterpriseRequest.java
+2
-17
src/main/java/me/zhyd/oauth/request/AuthWeChatMpRequest.java
src/main/java/me/zhyd/oauth/request/AuthWeChatMpRequest.java
+1
-1
src/main/java/me/zhyd/oauth/request/AuthWeChatOpenRequest.java
...ain/java/me/zhyd/oauth/request/AuthWeChatOpenRequest.java
+1
-1
未找到文件。
.gitignore
浏览文件 @
822b4806
...
...
@@ -26,5 +26,6 @@ hs_err_pid*
.idea
*.iml
*.sh
bin/*
target
\ No newline at end of file
target
docs/update.md
浏览文件 @
822b4806
## v1.1x(未发布)
-
修复抖音登录取值取错层级的问题(
[
issue#I15SIG@Gitee
](
https://gitee.com/yadong.zhang/JustAuth/issues/I15SIG
)
)
-
升级相关依赖:lombok@v1.18.10,hutool@5.0.5,fastjson@1.2.62,alipay@4.8.10.ALL(
[
PR#11@Gitee
](
https://gitee.com/yadong.zhang/JustAuth/pulls/11
)
)
-
完善异常提示的逻辑,支持传入Source(平台),发生异常时显示对应的source(平台)
-
`checkState`
方法从
`AuthDefaultRequest`
中提出到
`AuthChecker`
中
-
`AuthResponseStatus`
枚举类中增加
`ILLEGAL_STATUS`
、
`REQUIRED_REFRESH_TOKEN`
两个枚举值
-
`AuthSource`
接口中增加
`getName`
方法,用来对外提供实际
`source`
的字符串值
-
`AuthWeiboRequest`
微博授权登录中实现
`revoke`
方法,支持手动回收授权
-
增加微信、QQ、支付宝、微博授权登录的帮助文档
-
[
帮助文档
](
https://docs.justauth.whnb.wang
)
中增加自定义的404页面
-
[
帮助文档
](
https://docs.justauth.whnb.wang
)
中增加Gittalk插件
-
[
帮助文档
](
https://docs.justauth.whnb.wang
)
中增加Java代码高亮的插件
-
[
帮助文档
](
https://docs.justauth.whnb.wang
)
中修复[腾讯云登录]链接错误的问题
## v1.13.2
-
新增
-
增加微信、QQ、支付宝、微博授权登录的帮助文档
-
合并
[
PR#57
](
https://github.com/justauth/JustAuth/pull/57
)
,增加微信公众号登录 by
[
@xkcoding
](
https://github.com/xkcoding
)
-
[
帮助文档
](
https://docs.justauth.whnb.wang
)
中增加自定义的404页面
-
[
帮助文档
](
https://docs.justauth.whnb.wang
)
中增加Gittalk插件
-
[
帮助文档
](
https://docs.justauth.whnb.wang
)
中增加Java代码高亮的插件
-
增加
`AuthUserGender#getWechatRealGender`
方法,兼容获取微信平台的用户性别
-
修改
-
修复抖音登录取值取错层级的问题(
[
issue#I15SIG@Gitee
](
https://gitee.com/yadong.zhang/JustAuth/issues/I15SIG
)
)
-
完善异常提示的逻辑,支持传入Source(平台),发生异常时显示对应的source(平台)
-
`checkState`
方法从
`AuthDefaultRequest`
中提出到
`AuthChecker`
中
-
`AuthResponseStatus`
枚举类中增加
`ILLEGAL_STATUS`
、
`REQUIRED_REFRESH_TOKEN`
两个枚举值
-
`AuthSource`
接口中增加
`getName`
方法,用来对外提供实际
`source`
的字符串值
-
`AuthWeiboRequest`
微博授权登录中实现
`revoke`
方法,支持手动回收授权
-
[
帮助文档
](
https://docs.justauth.whnb.wang
)
中修复[腾讯云登录]链接错误的问题
-
升级
-
升级相关依赖:lombok@v1.18.10,hutool@5.0.5,fastjson@1.2.62,alipay@4.8.10.ALL(
[
PR#11@Gitee
](
https://gitee.com/yadong.zhang/JustAuth/pulls/11
)
)
## v1.13.1
### 2019/11/12
...
...
src/main/java/me/zhyd/oauth/enums/AuthUserGender.java
浏览文件 @
822b4806
...
...
@@ -2,6 +2,7 @@ package me.zhyd.oauth.enums;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
me.zhyd.oauth.utils.StringUtils
;
import
java.util.Arrays
;
...
...
@@ -25,14 +26,34 @@ public enum AuthUserGender {
private
String
code
;
private
String
desc
;
public
static
AuthUserGender
getRealGender
(
String
code
)
{
if
(
null
==
code
||
UNKNOWN
.
getCode
().
equals
(
code
))
{
/**
* 获取用户的实际性别,常规网站
*
* @param originalGender 用户第三方标注的原始性别
* @return 用户性别
*/
public
static
AuthUserGender
getRealGender
(
String
originalGender
)
{
if
(
null
==
originalGender
||
UNKNOWN
.
getCode
().
equals
(
originalGender
))
{
return
UNKNOWN
;
}
String
[]
males
=
{
"m"
,
"男"
,
"1"
,
"male"
};
if
(
Arrays
.
asList
(
males
).
contains
(
code
.
toLowerCase
()))
{
if
(
Arrays
.
asList
(
males
).
contains
(
originalGender
.
toLowerCase
()))
{
return
MALE
;
}
return
FEMALE
;
}
/**
* 获取微信平台用户的实际性别,0表示未定义,1表示男性,2表示女性
*
* @param originalGender 用户第三方标注的原始性别
* @return 用户性别
* @since 1.13.2
*/
public
static
AuthUserGender
getWechatRealGender
(
String
originalGender
)
{
if
(
StringUtils
.
isEmpty
(
originalGender
)
||
"0"
.
equals
(
originalGender
))
{
return
AuthUserGender
.
UNKNOWN
;
}
return
getRealGender
(
originalGender
);
}
}
src/main/java/me/zhyd/oauth/request/AuthWeChatEnterpriseRequest.java
浏览文件 @
822b4806
...
...
@@ -12,6 +12,7 @@ import me.zhyd.oauth.exception.AuthException;
import
me.zhyd.oauth.model.AuthCallback
;
import
me.zhyd.oauth.model.AuthToken
;
import
me.zhyd.oauth.model.AuthUser
;
import
me.zhyd.oauth.utils.StringUtils
;
import
me.zhyd.oauth.utils.UrlBuilder
;
/**
...
...
@@ -63,8 +64,6 @@ public class AuthWeChatEnterpriseRequest extends AuthDefaultRequest {
HttpResponse
userDetailResponse
=
getUserDetail
(
authToken
.
getAccessToken
(),
userId
);
JSONObject
userDetail
=
this
.
checkResponse
(
userDetailResponse
);
String
gender
=
getRealGender
(
userDetail
);
return
AuthUser
.
builder
()
.
username
(
userDetail
.
getString
(
"name"
))
.
nickname
(
userDetail
.
getString
(
"alias"
))
...
...
@@ -72,7 +71,7 @@ public class AuthWeChatEnterpriseRequest extends AuthDefaultRequest {
.
location
(
userDetail
.
getString
(
"address"
))
.
email
(
userDetail
.
getString
(
"email"
))
.
uuid
(
userId
)
.
gender
(
AuthUserGender
.
get
RealGender
(
gender
))
.
gender
(
AuthUserGender
.
get
WechatRealGender
(
userDetail
.
getString
(
"gender"
)
))
.
token
(
authToken
)
.
source
(
source
.
toString
())
.
build
();
...
...
@@ -94,20 +93,6 @@ public class AuthWeChatEnterpriseRequest extends AuthDefaultRequest {
return
object
;
}
/**
* 获取用户的实际性别,0表示未定义,1表示男性,2表示女性
*
* @param userDetail 用户详情
* @return 用户性别
*/
private
String
getRealGender
(
JSONObject
userDetail
)
{
int
gender
=
userDetail
.
getIntValue
(
"gender"
);
if
(
AuthUserGender
.
MALE
.
getCode
()
==
gender
)
{
return
"1"
;
}
return
2
==
gender
?
"0"
:
null
;
}
/**
* 返回带{@code state}参数的授权url,授权回调时会带上这个{@code state}
*
...
...
src/main/java/me/zhyd/oauth/request/AuthWeChatMpRequest.java
浏览文件 @
822b4806
...
...
@@ -63,7 +63,7 @@ public class AuthWeChatMpRequest extends AuthDefaultRequest {
.
avatar
(
object
.
getString
(
"headimgurl"
))
.
location
(
location
)
.
uuid
(
openId
)
.
gender
(
AuthUserGender
.
getRealGender
(
object
.
getString
(
"sex"
)))
.
gender
(
AuthUserGender
.
get
Wechat
RealGender
(
object
.
getString
(
"sex"
)))
.
token
(
authToken
)
.
source
(
source
.
toString
())
.
build
();
...
...
src/main/java/me/zhyd/oauth/request/AuthWeChatOpenRequest.java
浏览文件 @
822b4806
...
...
@@ -62,7 +62,7 @@ public class AuthWeChatOpenRequest extends AuthDefaultRequest {
.
avatar
(
object
.
getString
(
"headimgurl"
))
.
location
(
location
)
.
uuid
(
openId
)
.
gender
(
AuthUserGender
.
getRealGender
(
object
.
getString
(
"sex"
)))
.
gender
(
AuthUserGender
.
get
Wechat
RealGender
(
object
.
getString
(
"sex"
)))
.
token
(
authToken
)
.
source
(
source
.
toString
())
.
build
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录