Class SQLiteSessionStore

java.lang.Object
br.ufsc.labsec.signature.database.SqlDatabase
br.ufsc.labsec.signature.database.authCodeSession.SQLiteSessionStore
All Implemented Interfaces:
AuthCodeSessionStore, Database

public class SQLiteSessionStore
extends SqlDatabase
implements AuthCodeSessionStore
Implementação de AuthCodeSessionStore usando SQLite. Esta classe gerencia o armazenamento de sessões de autenticação em um banco de dados SQLite, permitindo persistência entre reinicializações da aplicação.
  • Constructor Details

  • Method Details

    • createTables

      protected void createTables()
      Cria a tabela `session_store` se ela não existir. A tabela armazena os dados da sessão com um timestamp para controle de expiração.
      Specified by:
      createTables in class SqlDatabase
    • saveSession

      public void saveSession​(String sessionId, String key, String value)
      Salva um par chave-valor para uma sessão. Se a sessão já existir com a mesma chave, o valor e o timestamp são atualizados.
      Specified by:
      saveSession in interface AuthCodeSessionStore
      Parameters:
      sessionId - O identificador da sessão.
      key - A chave do valor a ser salvo.
      value - O valor a ser salvo.
    • removeSession

      public void removeSession​(String sessionId)
      Deleta um par chave-valor para uma sessão.
      Specified by:
      removeSession in interface AuthCodeSessionStore
      Parameters:
      sessionId - O identificador da sessão a ser removido
    • getSession

      public String getSession​(String sessionId, String key)
      Obtém o valor de uma chave específica para uma sessão.
      Specified by:
      getSession in interface AuthCodeSessionStore
      Parameters:
      sessionId - O identificador da sessão.
      key - A chave do valor a ser recuperado.
      Returns:
      O valor associado à chave, ou null se não for encontrado.
    • getExpiredSessionIds

      public Set<String> getExpiredSessionIds​(Duration expiration)
      Specified by:
      getExpiredSessionIds in interface AuthCodeSessionStore