package cn.meowrain.aioj.backend.auth.common.constants;

public class RedisKeyConstants {

	public static String REFRESH_TOKEN_KEY_PREFIX = "refresh_token:%s";

	// ============= OAuth2 相关 Key =============

	/**
	 * 授权码存储 Key 前缀 格式: oauth2:auth_code:{code}
	 */
	public static final String OAUTH2_AUTH_CODE_PREFIX = "oauth2:auth_code:%s";

	/**
	 * 用户会话存储 Key 前缀 格式: oauth2:session:{sessionId}
	 */
	public static final String OAUTH2_SESSION_PREFIX = "oauth2:session:%s";

	/**
	 * 用户会话索引 Key 前缀 格式: oauth2:user_sessions:{userId} Value: Set<sessionId>
	 */
	public static final String OAUTH2_USER_SESSIONS_PREFIX = "oauth2:user_sessions:%s";

	/**
	 * Token 黑名单 Key 前缀（用于单点登出） 格式: oauth2:token_blacklist:{SHA256(token)}
	 */
	public static final String OAUTH2_TOKEN_BLACKLIST_PREFIX = "oauth2:token_blacklist:%s";

}
