namespace StoreHub.Framework.Security;
///
/// 在线用户会话存储:基于 的进程内实现,
/// 用于单点登录(同一用户仅保留最新会话)、在线人员管理与退出销毁。
///
public interface IOnlineUserStore
{
///
/// 用户登录/刷新会话:同用户的新登录会覆盖旧会话,旧令牌立即失效(单点登录)。
///
void SignIn(OnlineUserInfo info);
///
/// 判断指定用户、指定令牌会话是否仍然有效(未被退出、未被新登录顶替)。
///
bool IsTokenActive(int userId, string jti);
///
/// 退出登录:销毁该用户的在线会话,令牌立即失效。
///
void SignOut(int userId);
///
/// 获取当前在线人员列表。
///
IReadOnlyList GetOnlineUsers();
///
/// 当前在线人数。
///
int Count { get; }
}