diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/config/SaSignConfig.java b/sa-token-core/src/main/java/cn/dev33/satoken/config/SaSignConfig.java
index 01a9065b..1e5cd72d 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/config/SaSignConfig.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/config/SaSignConfig.java
@@ -36,11 +36,6 @@ public class SaSignConfig {
*/
private long timestampDisparity = 1000 * 60 * 15;
- /**
- * 是否校验 nonce 随机字符串
- */
- private Boolean isCheckNonce = true;
-
/**
* 获取 API 调用签名秘钥
@@ -88,26 +83,6 @@ public class SaSignConfig {
return this;
}
- /**
- * 获取 是否校验 nonce 随机字符串
- *
- * @return /
- */
- public Boolean getIsCheckNonce() {
- return this.isCheckNonce;
- }
-
- /**
- * 设置 是否校验 nonce 随机字符串
- *
- * @param isCheckNonce /
- * @return 对象自身
- */
- public SaSignConfig setIsCheckNonce(Boolean isCheckNonce) {
- this.isCheckNonce = isCheckNonce;
- return this;
- }
-
/**
* 计算保存 nonce 时应该使用的 ttl,单位:秒
* @return /
@@ -128,8 +103,18 @@ public class SaSignConfig {
return "SaSignConfig ["
+ "secretKey=" + secretKey
+ ", timestampDisparity=" + timestampDisparity
- + ", isCheckNonce=" + isCheckNonce
+ "]";
}
+ /**
+ * 设置:是否校验 nonce 随机字符串
+ *
isCheckNonce 方案已废弃,不再提供此配置项
+ *
+ * @param isCheckNonce /
+ */
+ @Deprecated
+ public void setIsCheckNonce(Boolean isCheckNonce) {
+ System.err.println("--------- isCheckNonce 方案已废弃,不再提供此配置项 ---------");
+ }
+
}
\ No newline at end of file
diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/sign/SaSignTemplate.java b/sa-token-core/src/main/java/cn/dev33/satoken/sign/SaSignTemplate.java
index fd4ef9b6..bc0245cf 100644
--- a/sa-token-core/src/main/java/cn/dev33/satoken/sign/SaSignTemplate.java
+++ b/sa-token-core/src/main/java/cn/dev33/satoken/sign/SaSignTemplate.java
@@ -295,13 +295,14 @@ public class SaSignTemplate {
String signValue = paramMap.get(sign);
// 参数非空校验
- SaSignException.notEmpty(timestampValue, "缺少 timestamp 字段");
- // SaSignException.throwByNull(nonceValue, "缺少 nonce 字段"); // 配置isCheckNonce=false时,可以不传 nonce
- SaSignException.notEmpty(signValue, "缺少 sign 字段");
+ // 配置isCheckNonce=false时,可以不传 nonce
+ if(SaFoxUtil.isEmpty(timestampValue) || SaFoxUtil.isEmpty(signValue)) {
+ return false;
+ }
// 三个值的校验必须全部通过
return isValidTimestamp(Long.parseLong(timestampValue))
- && (getSignConfigOrGlobal().getIsCheckNonce() ? isValidNonce(nonceValue) : true)
+ && isValidNonce(nonceValue)
&& isValidSign(paramMap, signValue);
}
@@ -317,14 +318,12 @@ public class SaSignTemplate {
// 参数非空校验
SaSignException.notEmpty(timestampValue, "缺少 timestamp 字段");
- // SaSignException.throwByNull(nonceValue, "缺少 nonce 字段"); // 配置isCheckNonce=false时,可以不传 nonce
+ SaSignException.notEmpty(nonceValue, "缺少 nonce 字段");
SaSignException.notEmpty(signValue, "缺少 sign 字段");
// 依次校验三个参数
checkTimestamp(Long.parseLong(timestampValue));
- if(getSignConfigOrGlobal().getIsCheckNonce()) {
- checkNonce(nonceValue);
- }
+ checkNonce(nonceValue);
checkSign(paramMap, signValue);
// 通过 √