Skip to main content
Por padrão, o Baileys mantém suas credenciais de autenticação apenas em memória. Quando o processo reinicia, a sessão se perde e você precisa escanear o QR de novo. Persistir o estado de autenticação resolve isso.

useMultiFileAuthState

useMultiFileAuthState é o utilitário interno para persistir sessão em arquivos. Ele guarda credenciais e chaves de sessão Signal como arquivos JSON dentro de uma pasta.

Como o estado de autenticação é estruturado

O objeto state está em conformidade com o tipo AuthenticationState:
Ambas devem ser salvas e restauradas juntas. Perder uma quebra a sessão.

Salvando chaves do Signal

Toda vez que uma mensagem é enviada ou recebida, o Baileys pode atualizar as chaves de sessão Signal armazenadas em authState.keys. Se você não salvar essas atualizações, mensagens vão falhar para destinatários cujas sessões foram rotacionadas. Sempre escute creds.update e chame sua função de salvar prontamente.

Melhorando a performance com makeCacheableSignalKeyStore

Em produção, toda mensagem dispara consultas a chaves Signal que tocam o disco. Envolver seu key store com makeCacheableSignalKeyStore adiciona uma camada de cache em memória.

Exemplo completo de reconexão

Serialização JSON confiável com BufferJSON

A implementação de useMultiFileAuthState serializa credenciais usando BufferJSON, um utilitário que lida com Buffer e Uint8Array durante JSON.stringify / JSON.parse.

Construindo um auth store em banco de dados

Para produção, implemente um AuthenticationState respaldado por banco. Sua implementação deve satisfazer:
Estude como useMultiFileAuthState funciona — a implementação em arquivos espelha a interface que seu store de banco precisa satisfazer.
Nunca commite sua pasta de auth ou credenciais de banco. Os arquivos em auth_info_baileys/ contêm chaves Signal de longa duração equivalentes a uma chave SSH privada.