package com.ruoyi.common.core.service;
import com.ruoyi.common.core.domain.model.LoginUser;
import javax.servlet.http.HttpServletRequest;
/**
* token验è¯å¤„ç†
*
* @author Lion Li
*/
public interface TokenService {
/**
* 获å–用户身份信æ¯
*
* @return 用户信æ¯
*/
LoginUser getLoginUser(HttpServletRequest request);
/**
* 设置用户身份信æ¯
*/
void setLoginUser(LoginUser loginUser);
/**
* åˆ é™¤ç”¨æˆ·èº«ä»½ä¿¡æ¯
*/
void delLoginUser(String token);
/**
* 创建令牌
*
* @param loginUser 用户信æ¯
* @return 令牌
*/
String createToken(LoginUser loginUser);
/**
* 验è¯ä»¤ç‰Œæœ‰æ•ˆæœŸï¼Œç›¸å·®ä¸è¶³20分钟,自动刷新缓å˜
*
* @param loginUser
* @return 令牌
*/
void verifyToken(LoginUser loginUser);
/**
* 刷新令牌有效期
*
* @param loginUser 登录信æ¯
*/
void refreshToken(LoginUser loginUser);
/**
* 设置用户代ç†ä¿¡æ¯
*
* @param loginUser 登录信æ¯
*/
void setUserAgent(LoginUser loginUser);
/**
* 从令牌ä¸èŽ·å–用户å
*
* @param token 令牌
* @return 用户å
*/
String getUsernameFromToken(String token);
}