Package cn.dev33.satoken.temp
Class SaTempTemplate
java.lang.Object
cn.dev33.satoken.temp.SaTempTemplate
- All Implemented Interfaces:
SaTtlMethods
Sa-Token 临时 token 验证模块
有效期很短的一种token,一般用于一次性接口防盗用、短时间资源访问等业务场景
- Since:
- 1.42.0
- Author:
- click33
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void_deleteToken(String token) protected long_getTimeout(String token) protected Objectprotected voidaddTempTokenIndex(SaSession session, String token, long timeout) 在 SaSession 上添加临时 temp-token 索引adjustIndex(Object value, SaSession session) 调整索引protected static voidcheckCutPrefixLength(String cutPrefix) 检查裁剪前缀长度createTempTokenValue(Object value) 创建一个 temp-token 值createToken(Object value, long timeout) 为指定 value 创建一个临时 token (如果多条业务线均需要创建临时 token,请自行在 value 拼接不同前缀)createToken(Object value, long timeout, boolean isRecordIndex) 为指定 业务标识、指定 value 创建一个 Tokenprotected voiddeleteTempTokenIndex(SaSession session, String token) 在 SaSession 上删除临时 temp-token 索引voiddeleteToken(String token) 删除一个 tokengetTempTokenList(Object value) 获取指定 value 的 temp-token 列表记录longgetTimeout(String token) 获取指定指定 Token 的剩余有效期,单位:秒parseToken(String token) 解析 Token 获取 value<T> TparseToken(String token, Class<T> cs) 解析 Token 获取 value,并转换为指定类型<T> TparseToken(String token, String cutPrefix, Class<T> cs) 解析 token 获取 value,并裁剪指定前缀,然后转换为指定类型randomTempToken(Object value) 随机一个 temp-tokenvoid保存 tokensplicingTempTokenSaveKey(String token) 获取:在存储临时 token 数据时,应该使用的 keyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface cn.dev33.satoken.util.SaTtlMethods
expireTimeToTtl, getMaxTtl, getMaxTtlByExpireTime, newTokenIndexMap, newTokenValueList, ttlToExpireTime
-
Field Details
-
DEFAULT_NAMESPACE
默认命名空间- See Also:
-
namespace
命名空间 -
rawSessionDelegator
Raw Session 读写委托 -
TEMP_TOKEN_MAP
在 raw-session 中的保存索引列表使用的 key- See Also:
-
-
Constructor Details
-
SaTempTemplate
public SaTempTemplate() -
SaTempTemplate
实例化- Parameters:
namespace- 命名空间,用于多实例隔离
-
-
Method Details
-
createToken
为指定 value 创建一个临时 token (如果多条业务线均需要创建临时 token,请自行在 value 拼接不同前缀)- Parameters:
value- 指定值timeout- 有效时间,单位:秒,-1 代表永久有效- Returns:
- 生成的 token
-
createToken
为指定 业务标识、指定 value 创建一个 Token- Parameters:
value- 指定值timeout- 有效期,单位:秒,-1 代表永久有效isRecordIndex- 是否记录索引,以便后续使用 value 反查 token- Returns:
- 生成的token
-
saveToken
保存 token- Parameters:
token- /value- /timeout- /
-
createTempTokenValue
创建一个 temp-token 值- Returns:
- /
-
randomTempToken
随机一个 temp-token- Returns:
- /
-
parseToken
解析 Token 获取 value- Parameters:
token- 指定 Token- Returns:
- /
-
parseToken
解析 Token 获取 value,并转换为指定类型- Type Parameters:
T- 默认值的类型- Parameters:
token- 指定 Tokencs- 指定类型- Returns:
- /
-
parseToken
解析 token 获取 value,并裁剪指定前缀,然后转换为指定类型请注意此方法在旧版本(<= v1.41.0) 时的三个参数为:service, token, class
新版本三个参数为:token, cutPrefix, class
请注意其中的逻辑变化- Type Parameters:
T- 默认值的类型- Parameters:
token- 指定 Tokencs- 指定类型- Returns:
- /
-
getTimeout
获取指定指定 Token 的剩余有效期,单位:秒返回值 -1 代表永久,-2 代表 token 无效
- Parameters:
token- /- Returns:
- /
-
deleteToken
删除一个 token- Parameters:
token- 指定 Token
-
adjustIndex
调整索引- Parameters:
value- 值session- 可填写 null,代表使用 value 现场查询- Returns:
- 调整后的索引列表
-
getTempTokenList
获取指定 value 的 temp-token 列表记录- Parameters:
value- /- Returns:
- /
-
addTempTokenIndex
在 SaSession 上添加临时 temp-token 索引- Parameters:
session- /token- /timeout- /
-
deleteTempTokenIndex
在 SaSession 上删除临时 temp-token 索引- Parameters:
session- /token- /
-
_getValue
-
_deleteToken
-
_getTimeout
-
checkCutPrefixLength
检查裁剪前缀长度- Parameters:
cutPrefix- /
-
splicingTempTokenSaveKey
获取:在存储临时 token 数据时,应该使用的 key- Parameters:
token- token值- Returns:
- key
-
getJwtSecretKey
- Returns:
- jwt秘钥 (只有集成 sa-token-temp-jwt 模块时此参数才会生效)
-