优化 token 处理逻辑,统一过期时间字段命名

This commit is contained in:
2026-02-03 17:09:09 +08:00
parent 158dd9e85c
commit b1d3ca241c
2 changed files with 11 additions and 11 deletions

View File

@@ -66,8 +66,8 @@ export class User extends Model {
accessToken: token.accessToken,
refreshToken: token.refreshToken,
token: token.accessToken,
accessTokenExpiresAt: token.accessTokenExpiresAt,
refreshTokenExpiresAt: token.refreshTokenExpiresAt,
refreshTokenExpiresIn: token.refreshTokenExpiresIn,
accessTokenExpiresIn: token.accessTokenExpiresIn,
};
}
/**

View File

@@ -76,9 +76,9 @@ interface Store<T> {
type TokenData = {
accessToken: string;
accessTokenExpiresAt: number;
accessTokenExpiresIn?: number;
refreshToken?: string;
refreshTokenExpiresAt?: number;
refreshTokenExpiresIn?: number;
}
export class RedisTokenStore implements Store<OauthUser> {
redis: Redis;
@@ -170,20 +170,20 @@ export class RedisTokenStore implements Store<OauthUser> {
await this.set(accessToken, JSON.stringify(value), expire);
await this.set(userPrefix + ':token:' + accessToken, accessToken, expire);
let refreshTokenExpiresAt = Math.min(expire * 7, 60 * 60 * 24 * 30, 60 * 60 * 24 * 365); // 最大为一年
let refreshTokenExpiresIn = Math.min(expire * 7, 60 * 60 * 24 * 30, 60 * 60 * 24 * 365); // 最大为一年
if (refreshToken) {
// 小于7天, 则设置为7天
if (refreshTokenExpiresAt < 60 * 60 * 24 * 7) {
refreshTokenExpiresAt = 60 * 60 * 24 * 7;
if (refreshTokenExpiresIn < 60 * 60 * 24 * 7) {
refreshTokenExpiresIn = 60 * 60 * 24 * 7;
}
await this.set(refreshToken, JSON.stringify(value), refreshTokenExpiresAt);
await this.set(userPrefix + ':refreshToken:' + refreshToken, refreshToken, refreshTokenExpiresAt);
await this.set(refreshToken, JSON.stringify(value), refreshTokenExpiresIn);
await this.set(userPrefix + ':refreshToken:' + refreshToken, refreshToken, refreshTokenExpiresIn);
}
return {
accessToken,
accessTokenExpiresAt: expire,
accessTokenExpiresIn: expire,
refreshToken,
refreshTokenExpiresAt,
refreshTokenExpiresIn: refreshTokenExpiresIn,
}
}
async delKeys(keys: string[]) {