Configuração de sessão
A configuração de sessão define controles em nível de locatário para quanto tempo as sessões de login do Logto permanecem ativas e como as políticas de acesso relacionadas à sessão são aplicadas.
Esta página aborda:
- Configuração de TTL da sessão
- Máximo de dispositivos autenticados simultâneos por aplicativo
Configuração de TTL da sessão
O TTL da sessão determina o tempo de vida máximo da sessão de login OIDC do Logto. É uma configuração em nível de locatário: uma vez configurada, aplica-se a todos os aplicativos e fluxos de autenticação nesse locatário.
Comportamento padrão
- Por padrão, o TTL da sessão é de 14 dias.
- Se nenhum TTL personalizado for configurado, o Logto continuará usando esse valor padrão.
Configurar via Logto Console
Você pode configurar o TTL da sessão no Console em:
Console > Locatário > Configurações > Configurações OIDC
Use Tempo máximo de vida da sessão para atualizar o valor.
O Console utiliza dias para entrada e exibição, enquanto a configuração subjacente da sessão OIDC / API utiliza segundos.
Configurar via Management API
Use estes endpoints para ler e atualizar a configuração da sessão OIDC:
GET /api/configs/oidc/sessionPATCH /api/configs/oidc/session
Exemplo (ttl em segundos):
curl https://[tenant-id].logto.app/api/configs/oidc/session \
-H 'authorization: Bearer <management_api_access_token>'
curl -X PATCH https://[tenant-id].logto.app/api/configs/oidc/session \
-H 'authorization: Bearer <management_api_access_token>' \
-H 'content-type: application/json' \
--data-raw '{"ttl":1209600}'
1209600 segundos = 14 dias.
Para implantações OSS, reinicie a instância do serviço após alterar o logto-config para que o servidor possa captar as configurações OIDC mais recentes.
Para aplicar atualizações de configuração OIDC automaticamente sem reiniciar o serviço, habilite o cache central redis.
Máximo de dispositivos autenticados simultâneos por aplicativo
O máximo de dispositivos autenticados simultâneos por aplicativo é um controle em nível de aplicativo que limita quantas concessões ativas cada usuário pode manter para um aplicativo específico.
Isso é configurado através do campo maxAllowedGrants em customClientMetadata da aplicação.
Saiba mais em Estrutura de dados da aplicação.
Comportamento
Quando maxAllowedGrants está definido, o Logto avalia as concessões ativas do usuário para o aplicativo atual a cada autorização bem-sucedida.
Se o número de concessões ativas exceder o limite, o Logto revoga primeiro as concessões mais antigas.
Se maxAllowedGrants não estiver definido, não há limite de simultaneidade.
Configurar via Logto Console
Você pode configurar isso na página de detalhes de cada aplicativo em:
Console > Aplicativos > Detalhes do aplicativo > Limite de dispositivos simultâneos
Defina o número máximo de concessões ativas simultâneas (dispositivos) por usuário para o aplicativo atual.
Esta configuração não é suportada para aplicativos máquina para máquina, aplicativos protegidos e aplicativos SAML.
Monitorar remoções com um webhook
Quando o Logto revoga as concessões mais antigas de um usuário para aplicar o maxAllowedGrants, ele aciona o evento de webhook Grant.LimitExceeded evento de webhook, para que você possa reagir a dispositivos sendo desconectados em vez de descobrir isso por tickets de suporte.
O payload identifica o usuário e o aplicativo, o limite em vigor, quantas concessões estavam ativas antes da remoção e os IDs das concessões que foram revogadas. Veja Payload Grant.LimitExceeded para a estrutura completa.
Casos de uso comuns:
- Notificar o usuário de que ele foi desconectado em outro dispositivo, e de onde.
- Alimentar taxas de remoção de dispositivos em sua análise para saber se o limite configurado está muito baixo.
- Sinalizar padrões incomuns de remoção para um único usuário como possível compartilhamento de credenciais ou sinal de tomada de conta.
Navegue até Console > Webhooks para se inscrever, ou crie o hook via Management API. Veja Webhooks para detalhes de configuração.
Recursos relacionados
Sessões Gerenciar sessões de usuárioGerenciar aplicativos autorizados do usuário (concessões)
Estrutura de dados da aplicação: maxAllowedGrants
Eventos de webhooks: eventos de exceção
Interagir com Management API