hongjli
2025-04-15 1acf9a48021d0af1d81fdf3ed8fcf8dffd020f6b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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;
    }