类 SaOAuth2Template

java.lang.Object
cn.dev33.satoken.oauth2.template.SaOAuth2Template

public class SaOAuth2Template extends Object
Sa-Token-OAuth2 模块 代码实现
从以下版本开始:
1.23.0
作者:
click33
  • 构造器详细资料

    • SaOAuth2Template

      public SaOAuth2Template()
  • 方法详细资料

    • getClientModel

      public SaClientModel getClientModel(String clientId)
      获取 ClientModel,根据 clientId
      参数:
      clientId - /
      返回:
      /
    • checkClientModel

      public SaClientModel checkClientModel(String clientId)
      校验 clientId 信息并返回 ClientModel,如果找不到对应 Client 信息则抛出异常
      参数:
      clientId - /
      返回:
      /
    • checkClientSecret

      public SaClientModel checkClientSecret(String clientId, String clientSecret)
      校验:clientId 与 clientSecret 是否正确
      参数:
      clientId - 应用id
      clientSecret - 秘钥
      返回:
      SaClientModel对象
    • checkClientSecretAndScope

      public SaClientModel checkClientSecretAndScope(String clientId, String clientSecret, List<String> scopes)
      校验:clientId 与 clientSecret 是否正确,并且是否签约了指定 scopes
      参数:
      clientId - 应用id
      clientSecret - 秘钥
      scopes - 权限
      返回:
      SaClientModel对象
    • isContractScope

      public boolean isContractScope(String clientId, List<String> scopes)
      判断:该 Client 是否签约了指定的 Scope,返回 true 或 false
      参数:
      clientId - 应用id
      scopes - 权限
      返回:
      /
    • checkContractScope

      public SaClientModel checkContractScope(String clientId, List<String> scopes)
      校验:该 Client 是否签约了指定的 Scope,如果没有则抛出异常
      参数:
      clientId - 应用id
      scopes - 权限列表
      返回:
      /
    • checkContractScope

      public SaClientModel checkContractScope(SaClientModel cm, List<String> scopes)
      校验:该 Client 是否签约了指定的 Scope,如果没有则抛出异常
      参数:
      cm - 应用
      scopes - 权限列表
      返回:
      /
    • checkRedirectUri

      public void checkRedirectUri(String clientId, String url)
      校验:该 Client 使用指定 url 作为回调地址,是否合法
      参数:
      clientId - 应用id
      url - 指定url
    • checkRedirectUriListNormal

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

      public static void checkRedirectUriListNormalStaticMethod(List<String> redirectUriList)
      校验配置的 allowRedirectUris 是否合规,如果不合规则抛出异常,静态方法内部实现
      参数:
      redirectUriList - 待校验的 allow-url 地址列表
    • isGrantScope

      public boolean isGrantScope(Object loginId, String clientId, List<String> scopes)
      判断:指定 loginId 是否对一个 Client 授权给了指定 Scope
      参数:
      loginId - 账号id
      clientId - 应用id
      scopes - 权限
      返回:
      是否已经授权
    • isNeedCarefulConfirm

      public boolean isNeedCarefulConfirm(Object loginId, String clientId, List<String> scopes)
      判断:指定 loginId 在指定 Client 请求指定 Scope 时,是否需要手动确认授权
      参数:
      loginId - 账号id
      clientId - 应用id
      scopes - 权限
      返回:
      是否已经授权
    • checkGainTokenParam

      public CodeModel checkGainTokenParam(String code, String clientId, String clientSecret, String redirectUri)
      校验:使用 code 获取 token 时提供的参数校验
      参数:
      code - 授权码
      clientId - 应用id
      clientSecret - 秘钥
      redirectUri - 重定向地址
      返回:
      CodeModel对象
    • checkRefreshTokenParam

      public RefreshTokenModel checkRefreshTokenParam(String clientId, String clientSecret, String refreshToken)
      校验:使用 Refresh-Token 刷新 Access-Token 时提供的参数校验
      参数:
      clientId - 应用id
      clientSecret - 秘钥
      refreshToken - Refresh-Token
      返回:
      CodeModel对象
    • checkAccessTokenParam

      public AccessTokenModel checkAccessTokenParam(String clientId, String clientSecret, String accessToken)
      校验:Access-Token、clientId、clientSecret 三者是否匹配成功
      参数:
      clientId - 应用id
      clientSecret - 秘钥
      accessToken - Access-Token
      返回:
      SaClientModel对象
    • getAccessToken

      public AccessTokenModel getAccessToken(String accessToken)
      获取 AccessTokenModel,无效的 AccessToken 会返回 null
      参数:
      accessToken - /
      返回:
      /
    • checkAccessToken

      public AccessTokenModel checkAccessToken(String accessToken)
      校验 Access-Token,成功返回 AccessTokenModel,失败则抛出异常
      参数:
      accessToken - /
      返回:
      /
    • getAccessTokenValue

      public String getAccessTokenValue(String clientId, Object loginId)
      获取 Access-Token,根据索引: clientId、loginId
      参数:
      clientId - /
      loginId - /
      返回:
      /
    • hasAccessTokenScope

      public boolean hasAccessTokenScope(String accessToken, String... scopes)
      判断:指定 Access-Token 是否具有指定 Scope 列表,返回 true 或 false
      参数:
      accessToken - Access-Token
      scopes - 需要校验的权限列表
    • checkAccessTokenScope

      public void checkAccessTokenScope(String accessToken, String... scopes)
      校验:指定 Access-Token 是否具有指定 Scope 列表,如果不具备则抛出异常
      参数:
      accessToken - Access-Token
      scopes - 需要校验的权限列表
    • getLoginIdByAccessToken

      public Object getLoginIdByAccessToken(String accessToken)
      获取 Access-Token 所代表的LoginId
      参数:
      accessToken - Access-Token
      返回:
      LoginId
    • getClientIdByAccessToken

      public Object getClientIdByAccessToken(String accessToken)
      获取 Access-Token 所代表的 clientId
      参数:
      accessToken - Access-Token
      返回:
      LoginId
    • revokeAccessToken

      public void revokeAccessToken(String accessToken)
      回收 Access-Token
      参数:
      accessToken - Access-Token值
    • revokeAccessTokenByIndex

      public void revokeAccessTokenByIndex(String clientId, Object loginId)
      回收 Access-Token,根据索引: clientId、loginId
      参数:
      clientId - /
      loginId - /
    • getRefreshToken

      public RefreshTokenModel getRefreshToken(String refreshToken)
      获取 RefreshTokenModel,无效的 RefreshToken 会返回 null
      参数:
      refreshToken - /
      返回:
      /
    • checkRefreshToken

      public RefreshTokenModel checkRefreshToken(String refreshToken)
      校验 Refresh-Token,成功返回 RefreshTokenModel,失败则抛出异常
      参数:
      refreshToken - /
      返回:
      /
    • getRefreshTokenValue

      public String getRefreshTokenValue(String clientId, Object loginId)
      获取 Refresh-Token,根据索引: clientId、loginId
      参数:
      clientId - /
      loginId - /
      返回:
      /
    • refreshAccessToken

      public AccessTokenModel refreshAccessToken(String refreshToken)
      根据 RefreshToken 刷新出一个 AccessToken
      参数:
      refreshToken - /
      返回:
      /
    • getClientToken

      public ClientTokenModel getClientToken(String clientToken)
      获取 ClientTokenModel,无效的 ClientToken 会返回 null
      参数:
      clientToken - /
      返回:
      /
    • checkClientToken

      public ClientTokenModel checkClientToken(String clientToken)
      校验 Client-Token,成功返回 ClientTokenModel,失败则抛出异常
      参数:
      clientToken - /
      返回:
      /
    • getClientTokenValue

      public String getClientTokenValue(String clientId)
      获取 ClientToken,根据索引: clientId
      参数:
      clientId - /
      返回:
      /
    • hasClientTokenScope

      public boolean hasClientTokenScope(String clientToken, String... scopes)
      判断:指定 Client-Token 是否具有指定 Scope 列表,返回 true 或 false
      参数:
      clientToken - Client-Token
      scopes - 需要校验的权限列表
    • checkClientTokenScope

      public void checkClientTokenScope(String clientToken, String... scopes)
      校验:指定 Client-Token 是否具有指定 Scope 列表,如果不具备则抛出异常
      参数:
      clientToken - Client-Token
      scopes - 需要校验的权限列表
    • revokeClientToken

      public void revokeClientToken(String clientToken)
      回收 ClientToken
      参数:
      clientToken - /
    • revokeClientTokenByIndex

      public void revokeClientTokenByIndex(String clientId)
      回收 ClientToken,根据索引: clientId
      参数:
      clientId - /
    • revokeLowerClientTokenByIndex

      public void revokeLowerClientTokenByIndex(String clientId)
      回收 Lower-Client-Token,根据索引: clientId
      参数:
      clientId - /
    • saveGrantScope

      public void saveGrantScope(String clientId, Object loginId, List<String> scopes)
      持久化:用户授权记录
      参数:
      clientId - 应用id
      loginId - 账号id
      scopes - 权限列表
    • getHigherScopeList

      public List<String> getHigherScopeList()
      获取高级权限列表
      返回:
      /
    • getLowerScopeList

      public List<String> getLowerScopeList()
      获取低级权限列表
      返回:
      /