类 SaSsoServerTemplate

java.lang.Object
cn.dev33.satoken.sso.template.SaSsoTemplate
cn.dev33.satoken.sso.template.SaSsoServerTemplate

public class SaSsoServerTemplate extends SaSsoTemplate
Sa-Token SSO 模板方法类 (Server端)
从以下版本开始:
1.38.0
作者:
click33
  • 构造器详细资料

    • SaSsoServerTemplate

      public SaSsoServerTemplate()
  • 方法详细资料

    • getServerConfig

      public SaSsoServerConfig getServerConfig()
      获取底层使用的SsoServer配置对象
      返回:
      /
    • saveTicket

      public void saveTicket(String ticket, Object loginId)
      保存 Ticket 关联的 loginId
      参数:
      ticket - ticket码
      loginId - 账号id
    • saveTicketIndex

      public void saveTicketIndex(String ticket, Object loginId)
      保存 Ticket 索引 (id 反查 ticket)
      参数:
      ticket - ticket码
      loginId - 账号id
    • saveTicketToClient

      public void saveTicketToClient(String ticket, String client)
      保存 Ticket 关联的 client
      参数:
      ticket - ticket码
      client - 客户端标识
    • deleteTicket

      public void deleteTicket(String ticket)
      删除 Ticket
      参数:
      ticket - Ticket码
    • deleteTicketIndex

      public void deleteTicketIndex(Object loginId)
      删除 Ticket索引
      参数:
      loginId - 账号id
    • deleteTicketToClient

      public void deleteTicketToClient(String ticket)
      删除 Ticket 关联的 client
      参数:
      ticket - Ticket码
    • getLoginId

      public Object getLoginId(String ticket)
      查询 ticket 指向的 loginId,如果 ticket 码无效则返回 null
      参数:
      ticket - Ticket码
      返回:
      账号id
    • getLoginId

      public <T> T getLoginId(String ticket, Class<T> cs)
      查询 ticket 指向的 loginId,并转换为指定类型
      类型参数:
      T - 要转换的类型
      参数:
      ticket - Ticket码
      cs - 要转换的类型
      返回:
      账号id
    • getTicketValue

      public String getTicketValue(Object loginId)
      查询 指定 loginId 其所属的 ticket 值
      参数:
      loginId - 账号id
      返回:
      Ticket值
    • getTicketToClient

      public String getTicketToClient(String ticket)
      查询 ticket 关联的 client,如果 ticket 码无效则返回 null
      参数:
      ticket - Ticket码
      返回:
      账号id
    • createTicket

      public String createTicket(Object loginId, String client)
      根据 账号id 创建一个 Ticket码
      参数:
      loginId - 账号id
      client - 客户端标识
      返回:
      Ticket码
    • checkTicket

      public Object checkTicket(String ticket)
      校验 Ticket 码,获取账号id,如果此ticket是有效的,则立即删除
      参数:
      ticket - Ticket码
      返回:
      账号id
    • checkTicket

      public Object checkTicket(String ticket, String client)
      校验 Ticket 码,获取账号id,如果此ticket是有效的,则立即删除
      参数:
      ticket - Ticket码
      client - client 标识
      返回:
      账号id
    • randomTicket

      public String randomTicket(Object loginId)
      随机一个 Ticket码
      参数:
      loginId - 账号id
      返回:
      Ticket码
    • getAllowUrl

      public String getAllowUrl()
      获取:所有允许的授权回调地址,多个用逗号隔开 (不在此列表中的URL将禁止下放ticket)
      返回:
      see note
    • checkRedirectUrl

      public void checkRedirectUrl(String url)
      校验重定向url合法性
      参数:
      url - 下放ticket的url地址
    • checkAllowUrlList

      public void checkAllowUrlList(List<String> allowUrlList)
      校验配置的 AllowUrl 是否合规,如果不合规则抛出异常
      参数:
      allowUrlList - 待校验的 allow-url 地址列表
    • checkAllowUrlListStaticMethod

      public static void checkAllowUrlListStaticMethod(List<String> allowUrlList)
      校验配置的 AllowUrl 是否合规,如果不合规则抛出异常
      参数:
      allowUrlList - 待校验的 allow-url 地址列表
    • ssoLogout

      public void ssoLogout(Object loginId)
      指定账号单点注销
      参数:
      loginId - 指定账号
    • calcNextIndex

      public int calcNextIndex(List<SaSsoClientModel> scmList)
      计算下一个 index 值
      参数:
      scmList - /
      返回:
      /
    • registerSloCallbackUrl

      public void registerSloCallbackUrl(Object loginId, String client, String sloCallbackUrl)
      为指定账号id注册单点注销回调信息(模式三)
      参数:
      loginId - 账号id
      client - 指定客户端标识,可为null
      sloCallbackUrl - 单点注销时的回调URL
    • notifyClientLogout

      public void notifyClientLogout(Object loginId, SaSsoClientModel scm, boolean autoLogout)
      通知指定账号的指定客户端注销
      参数:
      loginId - 指定账号
      scm - 客户端信息对象
      autoLogout - 是否为超过 maxRegClient 的自动注销
    • buildRedirectUrl

      public String buildRedirectUrl(Object loginId, String client, String redirect)
      构建URL:Server端向Client下放ticket的地址
      参数:
      loginId - 账号id
      client - 客户端标识
      redirect - Client端提供的重定向地址
      返回:
      see note
    • encodeBackParam

      public String encodeBackParam(String url)
      对url中的back参数进行URL编码, 解决超链接重定向后参数丢失的bug
      参数:
      url - url
      返回:
      编码过后的url
    • splicingTicketSaveKey

      public String splicingTicketSaveKey(String ticket)
      拼接key:Ticket 查 账号Id
      参数:
      ticket - ticket值
      返回:
      key
    • splicingTicketToClientSaveKey

      public String splicingTicketToClientSaveKey(String ticket)
      拼接key:Ticket 查 所属的 client
      参数:
      ticket - ticket值
      返回:
      key
    • splicingTicketIndexKey

      public String splicingTicketIndexKey(Object id)
      拼接key:账号Id 反查 Ticket
      参数:
      id - 账号id
      返回:
      key