优化 token 处理逻辑,统一过期时间字段命名
This commit is contained in:
@@ -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[]) {
|
||||
|
||||
Reference in New Issue
Block a user