package com.weiwojc.utils;
|
|
import org.springframework.stereotype.Component;
|
import jakarta.annotation.PostConstruct;
|
import java.util.concurrent.ConcurrentHashMap;
|
|
@Component
|
public class TokenBlacklistManager {
|
private static final ConcurrentHashMap<String, Boolean> tokenBlacklist = new ConcurrentHashMap<>();
|
private static String INSTANCE_ID = null;
|
private static long START_TIME;
|
|
@PostConstruct
|
public void init() {
|
// 每次服务启动生成新的实例ID和启动时间
|
INSTANCE_ID = java.util.UUID.randomUUID().toString();
|
START_TIME = System.currentTimeMillis();
|
}
|
|
public void addToBlacklist(String token) {
|
tokenBlacklist.put(token, true);
|
}
|
|
public boolean isBlacklisted(String token) {
|
return tokenBlacklist.containsKey(token);
|
}
|
|
public String getInstanceId() {
|
return INSTANCE_ID;
|
}
|
|
public long getStartTime() {
|
return START_TIME;
|
}
|
}
|