Token de Exibição e Modelo de Segurança
Visão Geral
Uma sessão de Perguntas e Respostas tem duas superfícies privilegiadas além da visualização pública do participante: o Painel do Anfitrião (moderação) e a Visualização de Projeção (projeção). Elas usam primitivos de segurança diferentes porque seus modelos de ameaça diferem.
| Superfície | Portão | Por Quê |
|---|---|---|
| Painel do Anfitrião | PIN do Anfitrião de 6 dígitos (digitado por um humano) | Focado em dispositivos móveis; voluntários devem poder autenticar rapidamente sem copiar e colar URLs longas. |
| Visualização de Projeção | Token de Exibição de 32 caracteres na URL | Configure e esqueça para software de projeção (ProPresenter, OBS, navegadores de quiosque); nunca digitado por um humano. |
Esta página documenta ambos, incluindo regeneração de PIN e código de acesso, e o mergulho profundo na integração com ProPresenter.
Token de Exibição
Quando uma sessão é criada, o sistema gera um token criptograficamente aleatório de 32 caracteres e o salva junto com a sessão. O token é então incorporado na URL pública de Exibição, que você copia diretamente do painel do anfitrião ou da página da sessão no admin em vez de digitar à mão.
Qualquer pessoa que possua essa URL completa pode abrir a exibição de projeção sem inserir o PIN do Anfitrião. A exibição é somente leitura — o token não autoriza nenhuma ação de escrita; ele apenas desbloqueia a visualização de projeção.
Por Que um Token em Vez do PIN
O PIN é curto e digitável por humanos. Incorporá-lo em uma URL o exporia no histórico do navegador, gravações de tela e em qualquer interface de "URLs Recentes" em computadores compartilhados. O token, por outro lado, é longo o suficiente para que a força bruta seja inviável (32 caracteres alfanuméricos aleatórios dão aproximadamente 190 bits de entropia). O token também é escopado apenas à exibição somente leitura, então mesmo se vazar, o pior caso é "alguém assiste ao feed de projeção remotamente" — não pode moderar nem excluir conteúdo.
Onde Encontrar a URL de Exibição
No painel do anfitrião, abra o popover Configurações de exibição (o botão de projetor/exibição no painel). O campo URL de Exibição na parte inferior desse popover contém a URL completa com token. Clique em Copiar para copiá-la para a área de transferência.
Também aparece na página de detalhes da sessão no admin (Perguntas e Respostas -> abra a sessão) no card URLs de Exibição. Esse card lista duas URLs:
- URL de Exibição Pública — com badge Sem PIN necessário. Esta é a URL com token; envie para sua equipe de mídia para ProPresenter, OBS ou qualquer navegador de projetor. Somente leitura — destinatários podem visualizar, mas não moderar.
- URL de Exibição do Anfitrião — com badge PIN necessário. Para sua própria pré-visualização de um navegador logado; solicita o PIN do anfitrião se você ainda não estiver autenticado.
Se a URL de Exibição Vazar
Não há uma ação separada de "regenerar token de exibição" — o token é gerado uma vez na criação da sessão e permanece estável durante toda a vida da sessão, mesmo em transições de status (Ao Vivo -> Fechada -> Arquivada). Isso é intencional para que feeds de projeção continuem funcionando sem precisar colar URLs novamente no meio do culto.
Se a URL de Exibição Pública for exposta onde não deveria (por exemplo, publicada em um evento do Facebook por engano), as opções práticas de contenção são:
- Fechar ou arquivar a sessão para que a Visualização de Projeção pare de servir conteúdo ao vivo (veja "Quando o Token / PIN Para de Funcionar" abaixo).
- Regenerar o código de acesso e o PIN do Anfitrião para proteger as superfícies de participante e anfitrião (estes têm regeneração de um clique).
Lembre-se de que o token vazado é somente leitura: um vazamento expõe o feed de projeção apenas para visualização — nunca concede direitos de moderação ou exclusão.
PIN do Anfitrião
O PIN do Anfitrião é um código numérico de 6 dígitos gerado na criação da sessão. O portão do PIN está documentado em Permissões e Funções -> PIN do Anfitrião. Para recapitular:
- Salvo junto com a sessão.
- Necessário no primeiro acesso ao painel do anfitrião de qualquer dispositivo.
- Em uma entrada correta, um cookie escopado à sessão é definido no dispositivo. O cookie está vinculado a essa única sessão; inserir o PIN de uma sessão não autentica nenhuma outra sessão.
- Cookies não persistem entre sessões privadas / anônimas do navegador.
Regenerando o PIN
Na página de detalhes da sessão no admin, clique em Regenerar PIN (no card de regeneração). Efeitos:
- Um novo PIN de 6 dígitos é gerado.
- Todas as sessões de anfitrião existentes para esta sessão são invalidadas — cada dispositivo com o painel aberto será desafiado novamente na próxima atualização.
- O Token de Exibição não é afetado; feeds de projeção continuam funcionando.
Use isso quando o PIN foi compartilhado demais ou quando um voluntário moderador não é mais confiável.
Regenerando o Código de Acesso
O mesmo card também tem Regenerar código, que emite um novo código de acesso (e invalida o QR / links curtos atuais). Confirme o prompt antes de fazer isso — quaisquer links de acesso impressos ou compartilhados e o QR atual deixarão de funcionar.
Regenerar o código de acesso não afeta o PIN do Anfitrião nem o Token de Exibição.
Resumo do Modelo de Ameaça
O que cada portão protege:
| Ameaça | Defesa |
|---|---|
| Membro aleatório tentando moderar | PIN do Anfitrião (6 dígitos, não derivável de informações públicas) |
| URL de Exibição vazada | Escopo somente leitura do token; fechar/arquivar a sessão para cortar o feed |
| Dispositivo roubado com cookie de anfitrião | Cookie escopado à sessão; admin pode regenerar PIN para invalidar |
| Escalação de privilégio entre sessões | Cookies e tokens são escopados à sessão; sem reutilização entre sessões |
| Força bruta no PIN | Entrada de PIN limitada por taxa |
| Força bruta no Token de Exibição | Token aleatório de 32 caracteres; ~190 bits de entropia; inviável |
| Abuso de participante público | Limites de taxa por dispositivo + Bloquear Participante + pausar/fechar sessão (veja 10-rate-limits-and-abuse.md) |
Integração com ProPresenter — Mergulho Profundo
O ProPresenter tem suporte de primeira classe para slides de conteúdo web, que é a forma recomendada de incorporar a exibição de Perguntas e Respostas. A URL com token foi projetada para este fluxo exato.
Configuração
- Obtenha a URL. No painel do anfitrião, abra o popover Configurações de exibição e copie o valor da URL de Exibição — ou use a URL de Exibição Pública do card URLs de Exibição na página de detalhes da sessão no admin.
- Crie um slide Web no ProPresenter. Na playlist do seu culto, adicione um novo slide e escolha Web como tipo de slide.
- Cole a URL no campo de URL do slide Web.
- Defina "Atualização Automática" como DESLIGADO. A exibição se atualiza sozinha a cada 3 segundos (a cada 15 segundos quando a aba está oculta). A atualização automática do ProPresenter interromperia a continuidade da animação.
- Defina "Mostrar no Culto" como LIGADO. Isso mantém a visualização web renderizada mesmo quando não é o slide ativo, então quando você corta para ele a página já está carregada e conectada.
- Opcional: Ativar Áudio: DESLIGADO. A Visualização de Projeção não tem áudio, mas desligar isso impede o ProPresenter de criar um contexto de áudio.
Dicas
- Pré-carregue antes do culto. Torne o slide Web ativo por alguns segundos durante sua passagem pré-culto. O slide conectará, buscará o estado atual e permanecerá sincronizado a partir daí.
- Ajuste de tema. Defina o tema de projeção e tamanho da fonte no painel do anfitrião antes do culto. A Visualização de Projeção captura mudanças em tempo real, mas você não quer ficar ajustando cores enquanto o culto está acontecendo.
- Tela cheia. O slide web do ProPresenter renderiza na tela do slide. A exibição oculta automaticamente o cursor após alguns segundos de inatividade; nenhuma ação adicional de tela cheia é necessária.
- Confiabilidade de rede. A exibição se atualiza em um intervalo curto, o que significa que falhas transitórias de rede apenas produzem uma breve janela de estado desatualizado de até 3 segundos. Não há tempestade de reconexão; quando a rede se recupera, a próxima atualização alcança.
Integração com OBS
Para transmissões ao vivo usando OBS:
- Adicione uma Fonte de Navegador.
- Cole a URL de Exibição Pública.
- Defina largura/altura para a resolução de saída (tipicamente 1920x1080).
- Marque "Desligar fonte quando não visível" como DESLIGADO (mantenha carregada).
- Marque "Atualizar navegador quando a cena ficar ativa" como DESLIGADO (deixe a página gerenciar sua própria atualização).
A Visualização de Projeção é responsiva e renderiza limpa em 1920x1080. Se sua transmissão usa proporção não padrão (celular vertical, ultrawide), ajuste o tamanho da fonte do navegador e a configuração de tamanho de fonte da exibição para caber.
Quando o Token / PIN Para de Funcionar
Alguns casos normais em que os portões começam a negar:
- Sessão está arquivada ou excluída. Tanto a Visualização de Projeção quanto o Painel do Anfitrião retornam a página pública "Sessão encerrada" neste estado — os portões não são consultados.
- Chave errada ou ausente na URL de Exibição. Uma URL com erro de digitação ou truncada é rejeitada de imediato em vez de cair silenciosamente para entrada de PIN, então uma URL compartilhada quebrada falha alto. Copie novamente a URL completa do painel do anfitrião ou do card URLs de Exibição no admin.
- PIN foi regenerado. Insira novamente o novo PIN no dispositivo do anfitrião.
- Cookies limpos no dispositivo do anfitrião. Insira novamente o PIN.
- Navegador / dispositivo diferente. Cada dispositivo autentica independentemente.
Se você estiver travado no lado do anfitrião, o reset mais rápido é: abra a página de detalhes da sessão na área de administração, clique em Regenerar PIN, depois insira o novo PIN no celular do anfitrião. Para o feed de projeção, copie novamente a URL de Exibição Pública e cole novamente no ProPresenter ou OBS.
Anterior: Arquivamento e Retenção de Dados