Sessões
Todas as interações com App Builder ocorrem dentro do contexto de uma sessão. Uma sessão é criada quando um usuário visita pela primeira vez App Builder. Solicitações subsequentes do mesmo usuário são associadas à sessão.
Se você estiver procurando definir um tempo limite com base na inatividade do usuário para fins de segurança, isso pode ser feito definindo um valor de Expiração de Autenticação. Veja a seção Tempo limite de autenticação + sessão deste artigo para mais informações.
Monitorando
App Builder rastreia sessões atribuindo a cada navegador individual um identificador exclusivo. O identificador é armazenado em um cookie na memória. Como tal, fechar (todas as instâncias de) o navegador efetivamente encerra a sessão. O cookie é marcado como HttpOnly. Se o navegador estiver conectado ao servidor usando HTTPS, o cookie também será marcado como Secure.
Para compatibilidade máxima entre implementações de provedores de dados, o identificador de sessão assume a forma de UUID. Especificamente, é um UUID da versão 4, gerado usando um gerador de números aleatórios criptograficamente. UUIDs são compostos de 128 bits. No entanto, 6 bits são reservados para identificar a versão. Isso fornece um total de 122 bits de aleatoriedade, que deve ser suficientemente longo para ser inadivinizável.
Desenvolvimento
Os desenvolvedores podem acessar o identificador de sessão atual usando session() função mvSQL. Isso está disponível independentemente de um evento ser executado em primeiro ou segundo plano. Observe, no entanto, que eventos agendados recebem um identificador de sessão transitório. O identificador de sessão transitório não é associado a uma sessão de usuário e muda cada vez que o evento agendado é executado.
Os identificadores de sessão podem ser armazenados em colunas do tipo "ID exclusivo".
Autenticação + Tempo limite da sessão
As sessões em si não terão tempo limite. No entanto, os administradores de segurança podem definir a expiração da autenticação, o que fornece controle sobre o tempo limite da sessão. A expiração da autenticação define o tempo de vida dos tokens de segurança. Quando um usuário faz login, ele recebe um token de segurança. O token de segurança em si tem um tempo de vida com uma janela deslizante: App Builder emitirá um novo token se o usuário interagir com App Builder mais da metade da janela de expiração.
Por padrão, o token de segurança tem uma vida útil de 2 semanas. Para definir a expiração da autenticação:
- Faça login em App Builder como administrador.
- Navegue até o IDE.
- Clique no botão Provedores de Segurança.
- No painel Configuração, clique no botão Editar.
-
Forneça um valor para a Expiração de Autenticação.
- A vida útil do token de segurança é medida em minutos.
-
Clique no botão Salvar.
Nota
O tempo de vida do token de segurança se aplica somente a tokens de segurança recém-emitidos.
Como configurar sessões
Por padrão, App Builder persiste informações de sessão no banco de dados. Os administradores podem visualizar sessões e forçar o logout de sessões de usuários. O rastreamento de sessões protege contra certas vulnerabilidades, como ataques de cookie-replay. Este artigo descreve as políticas de armazenamento de sessão configuráveis.
Para configurar sessões
- Navegue até o IDE
- No painel Conectar, clique no botão Provedores de Segurança
-
As seguintes opções podem ser encontradas no painel Configuração em Sessões:
-
Armazenamento de Sessão = Determina quando as sessões são armazenadas. Opções:
- Autenticado = Armazena apenas sessões autenticadas.
- Não persistente = As sessões não são armazenadas. Corresponde ao comportamento legado.
- Persistente = Armazena todas as sessões anônimas e autenticadas.
- Sair = Armazena apenas sessões desconectadas.
-
Expiração anônima = Valor numérico (segundos) que determina por quanto tempo as sessões anônimas são armazenadas.
- Máx. simultâneo = Valor numérico (contagem) que especifica o número máximo de sessões simultâneas que um usuário pode ter ao mesmo tempo.
-
Para gerenciar sessões
- Navegue até o IDE
- No painel Runtime, clique no botão User Management
- No painel Users, clique no botão More e escolha Sessions
-
A partir daqui, você pode visualizar sessões existentes, sair de sessões individuais ou limpar todas as sessões (incluindo a sua).