Class JwtTokenServiceImpl

java.lang.Object
ru.cg.webbpm.modules.security.api.impl.token.JwtTokenServiceImpl
All Implemented Interfaces:
JwtTokenService

@Component public class JwtTokenServiceImpl extends Object implements JwtTokenService
Author:
Flyur Karimov
  • Constructor Details

  • Method Details

    • createAccessToken

      public Token createAccessToken(String userAccountId, boolean simpleCredentials)
      Description copied from interface: JwtTokenService
      Creates a token with a short duration Needed to requests authorization It must be stored on client side
      Specified by:
      createAccessToken in interface JwtTokenService
      Parameters:
      userAccountId - - userAccountId
      simpleCredentials - - Is the credentials stored in simple_credentials table
      Returns:
      access token
    • createRefreshToken

      public Token createRefreshToken(String userAccountId, boolean simpleCredentials)
      Description copied from interface: JwtTokenService
      Creates a token with a long duration Needed to refresh access token It must be stored on client and backend side
      Specified by:
      createRefreshToken in interface JwtTokenService
      Parameters:
      userAccountId - - userAccountId
      simpleCredentials - - simpleCredentials
      Returns:
      refresh token
    • isValid

      public boolean isValid(Token token)
      Description copied from interface: JwtTokenService
      Validates token Check userAccountId existing and token expiration time
      Specified by:
      isValid in interface JwtTokenService
      Parameters:
      token - token
      Returns:
      true for valid token, else false
    • isValid

      public boolean isValid(String token)
      Specified by:
      isValid in interface JwtTokenService
    • checkRefreshToken

      public boolean checkRefreshToken(Token refreshToken)
      Specified by:
      checkRefreshToken in interface JwtTokenService
    • getCredentials

      public Credentials getCredentials(boolean isSimpleCredentials, String userAccountId)
      Specified by:
      getCredentials in interface JwtTokenService
    • saveRefreshToken

      public void saveRefreshToken(String userAccountId, Token newToken, String accessToken)
      Description copied from interface: JwtTokenService
      Save refresh token in storage
      Specified by:
      saveRefreshToken in interface JwtTokenService
      Parameters:
      userAccountId - - user account id
      newToken - new refresh token
      accessToken - - access token
    • updateRefreshToken

      public void updateRefreshToken(String userAccountId, Token newToken, String oldToken, String accessToken)
      Description copied from interface: JwtTokenService
      Update refresh token in storage
      Specified by:
      updateRefreshToken in interface JwtTokenService
      Parameters:
      userAccountId - - user account id
      newToken - new refresh token
      oldToken - old refresh token
      accessToken - - access token
    • getToken

      public Token getToken(String token)
      Specified by:
      getToken in interface JwtTokenService
    • deleteRefreshToken

      public void deleteRefreshToken(String accessToken)
      Description copied from interface: JwtTokenService
      Delete refresh token from DB after logout
      Specified by:
      deleteRefreshToken in interface JwtTokenService
      Parameters:
      accessToken - - access token