package com.gihon.sso.service; import java.util.List; import com.gihon.sso.entity.vo.LoginUser; import com.gihon.sso.entity.vo.SsoToken; import com.gihon.sso.entity.vo.TokenVal; import com.gihon.sso.entity.vo.UserInfo; /** * 管理Token * * @author baihe * */ public interface TokenService { final static String TOKEN_PRE = "SSO_TOKEN_";// 存储 用户账号,过期时间,resfresh_token final static String USER_TOKEN_STORE = "SSO_USER_TOKEN_STORE";// 按照用户账号存储 token和refreshtoken final static String REFRESH_TOKEN_PRE = "SSO_TOKEN_REFRESH_";// 存储token,过期时间,用户账号 final static String USER_STORE = "SSO_USER_STORE"; final static long TOKEN_EXPIRED = 1000 * 60 * 60 * 24L;// 24小时 final static long REFRESH_TOKEN_EXPIRED = 1000 * 60 * 60 * 72L;// 72小时 final static long EXIPRED_MORE = 1000 * 60; String getUserName(String securityToken); /** * 创建token * * @param userInfo * @return */ SsoToken createToken(UserInfo userInfo, int moduleType); /** * 刷新Token * * @param refreshToken * @return */ SsoToken refreshToken(String refreshToken); /** * 获取Token信息 * * @param token * @return */ UserInfo checkToken(LoginUser loginUser); /** * 检测token有效并获取到用户信息 * * @param token * @return */ UserInfo checkTokenInfo(String token); /** * 可以账号多地点登录时候的Token * * @param token * @return */ List getTokenByAccount(String account); /** * 获取token * * @param token * @return */ TokenVal getTokenVal(String token); /** * 清理Token * * @param token */ void clearToken(String token); /** * 自动清理 token信息 * * @param refreshToken * @param account */ void autoClearRefreshToken(String refreshToken, String account); /** * 通过账号获取用户信息 * * @param account * @return */ UserInfo getUserInfo(String account); }