1
0
mirror of synced 2026-04-26 03:28:45 +08:00

🔖 v1.9.3,详细更新内容参考update.md

This commit is contained in:
yadong.zhang
2019-07-30 09:12:28 +08:00
parent a2d6dfe707
commit 33076971fe
33 changed files with 561 additions and 30 deletions

View File

@@ -85,7 +85,7 @@ public class AuthAlipayRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -78,7 +78,7 @@ public class AuthBaiduRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -70,7 +70,7 @@ public class AuthCodingRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -3,6 +3,7 @@ package me.zhyd.oauth.request;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import lombok.extern.slf4j.Slf4j;
import me.zhyd.oauth.cache.AuthStateCache;
import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.config.AuthSource;
import me.zhyd.oauth.exception.AuthException;
@@ -10,6 +11,7 @@ import me.zhyd.oauth.model.*;
import me.zhyd.oauth.utils.AuthChecker;
import me.zhyd.oauth.utils.StringUtils;
import me.zhyd.oauth.utils.UrlBuilder;
import me.zhyd.oauth.utils.UuidUtils;
/**
* 默认的request处理类
@@ -60,7 +62,7 @@ public abstract class AuthDefaultRequest implements AuthRequest {
}
/**
* 返回认证url可自行跳转页面
* 返回授权url可自行跳转页面
* <p>
* 不建议使用该方式获取授权地址,不带{@code state}的授权地址容易受到csrf攻击。
* 建议使用{@link AuthDefaultRequest#authorize(String)}方法生成授权地址,在回调方法中对{@code state}进行校验
@@ -75,7 +77,7 @@ public abstract class AuthDefaultRequest implements AuthRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址
@@ -150,7 +152,12 @@ public abstract class AuthDefaultRequest implements AuthRequest {
* @return 返回不为null的state
*/
protected String getRealState(String state) {
return StringUtils.isEmpty(state) ? String.valueOf(System.currentTimeMillis()) : state;
if (StringUtils.isEmpty(state)) {
state = UuidUtils.getUUID();
}
// 缓存state
AuthStateCache.cache(state, state);
return state;
}
/**

View File

@@ -57,7 +57,7 @@ public class AuthDingTalkRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -88,7 +88,7 @@ public class AuthDouyinRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -60,7 +60,7 @@ public class AuthGoogleRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -181,7 +181,7 @@ public class AuthLinkedinRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -108,7 +108,7 @@ public class AuthMiRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -101,7 +101,7 @@ public class AuthMicrosoftRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -69,7 +69,7 @@ public class AuthPinterestRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -13,7 +13,7 @@ import me.zhyd.oauth.model.AuthToken;
public interface AuthRequest {
/**
* 返回认证url可自行跳转页面
* 返回授权url可自行跳转页面
* <p>
* 不建议使用该方式获取授权地址,不带{@code state}的授权地址容易受到csrf攻击。
* 建议使用{@link AuthDefaultRequest#authorize(String)}方法生成授权地址,在回调方法中对{@code state}进行校验
@@ -26,7 +26,7 @@ public interface AuthRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -67,7 +67,7 @@ public class AuthStackOverflowRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -54,7 +54,7 @@ public class AuthTaobaoRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -70,7 +70,7 @@ public class AuthTencentCloudRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -64,7 +64,7 @@ public class AuthToutiaoRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址

View File

@@ -99,7 +99,7 @@ public class AuthWeChatRequest extends AuthDefaultRequest {
}
/**
* 返回带{@code state}参数的认证url授权回调时会带上这个{@code state}
* 返回带{@code state}参数的授权url授权回调时会带上这个{@code state}
*
* @param state state 验证授权流程的参数可以防止csrf
* @return 返回授权地址