类 SaSameTemplate

java.lang.Object
cn.dev33.satoken.same.SaSameTemplate

public class SaSameTemplate extends Object
Sa Same-Token 同源系统身份认证模块 - 模板方法类

解决同源系统互相调用时的身份认证校验, 例如:微服务网关请求转发鉴权、微服务RPC调用鉴权

从以下版本开始:
2022-10-24
作者:
kong
  • 字段详细资料

    • SAME_TOKEN

      public static final String SAME_TOKEN
      提交 Same-Token 时,建议使用的参数名称
      另请参阅:
  • 构造器详细资料

    • SaSameTemplate

      public SaSameTemplate()
  • 方法详细资料

    • getToken

      public String getToken()
      获取当前 Same-Token, 如果不存在,则立即创建并返回
      返回:
      /
    • isValid

      public boolean isValid(String token)
      判断一个 Same-Token 是否有效
      参数:
      token - /
      返回:
      /
    • checkToken

      public void checkToken(String token)
      校验一个 Same-Token 是否有效 (如果无效则抛出异常)
      参数:
      token - /
    • checkCurrentRequestToken

      public void checkCurrentRequestToken()
      校验当前 Request 上下文提供的 Same-Token 是否有效 (如果无效则抛出异常)
    • refreshToken

      public String refreshToken()
      刷新一次 Same-Token (注意集群环境中不要多个服务重复调用)
      返回:
      刷新后产生的新 Same-Token
    • saveToken

      public void saveToken(String token)
      保存 Same-Token
      参数:
      token - /
    • savePastToken

      public void savePastToken(String token, long timeout)
      保存 Past-Same-Token
      参数:
      token - token
      timeout - 有效期(单位:秒)
    • getTokenNh

      public String getTokenNh()
      获取 Same-Token,不做任何处理
      返回:
      /
    • getPastTokenNh

      public String getPastTokenNh()
      获取 Past-Same-Token,不做任何处理
      返回:
      /
    • getTokenTimeout

      public long getTokenTimeout()
      获取 Same-Token 的剩余有效期 (单位:秒)
      返回:
      /
    • createToken

      public String createToken()
      创建一个 Same-Token
      返回:
      Token
    • splicingTokenSaveKey

      public String splicingTokenSaveKey()
      拼接key:Same-Token 的存储 key
      返回:
      key
    • splicingPastTokenSaveKey

      public String splicingPastTokenSaveKey()
      拼接key:次级 Same-Token 的存储 key
      返回:
      key