TokenService.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package com.gihon.sso.service;
  2. import java.util.List;
  3. import com.gihon.sso.entity.vo.LoginUser;
  4. import com.gihon.sso.entity.vo.SsoToken;
  5. import com.gihon.sso.entity.vo.TokenVal;
  6. import com.gihon.sso.entity.vo.UserInfo;
  7. /**
  8. * 管理Token
  9. *
  10. * @author baihe
  11. *
  12. */
  13. public interface TokenService {
  14. final static String TOKEN_PRE = "SSO_TOKEN_";// 存储 用户账号,过期时间,resfresh_token
  15. final static String USER_TOKEN_STORE = "SSO_USER_TOKEN_STORE";// 按照用户账号存储 token和refreshtoken
  16. final static String REFRESH_TOKEN_PRE = "SSO_TOKEN_REFRESH_";// 存储token,过期时间,用户账号
  17. final static String USER_STORE = "SSO_USER_STORE";
  18. final static long TOKEN_EXPIRED = 1000 * 60 * 60 * 24L;// 24小时
  19. final static long REFRESH_TOKEN_EXPIRED = 1000 * 60 * 60 * 72L;// 72小时
  20. final static long EXIPRED_MORE = 1000 * 60;
  21. String getUserName(String securityToken);
  22. /**
  23. * 创建token
  24. *
  25. * @param userInfo
  26. * @return
  27. */
  28. SsoToken createToken(UserInfo userInfo, int moduleType);
  29. /**
  30. * 刷新Token
  31. *
  32. * @param refreshToken
  33. * @return
  34. */
  35. SsoToken refreshToken(String refreshToken);
  36. /**
  37. * 获取Token信息
  38. *
  39. * @param token
  40. * @return
  41. */
  42. UserInfo checkToken(LoginUser loginUser);
  43. /**
  44. * 检测token有效并获取到用户信息
  45. *
  46. * @param token
  47. * @return
  48. */
  49. UserInfo checkTokenInfo(String token);
  50. /**
  51. * 可以账号多地点登录时候的Token
  52. *
  53. * @param token
  54. * @return
  55. */
  56. List<TokenVal> getTokenByAccount(String account);
  57. /**
  58. * 获取token
  59. *
  60. * @param token
  61. * @return
  62. */
  63. TokenVal getTokenVal(String token);
  64. /**
  65. * 清理Token
  66. *
  67. * @param token
  68. */
  69. void clearToken(String token);
  70. /**
  71. * 自动清理 token信息
  72. *
  73. * @param refreshToken
  74. * @param account
  75. */
  76. void autoClearRefreshToken(String refreshToken, String account);
  77. /**
  78. * 通过账号获取用户信息
  79. *
  80. * @param account
  81. * @return
  82. */
  83. UserInfo getUserInfo(String account);
  84. }