Saiba em qual backend está se autenticando
Controle a autenticação por site, conta, URL e método, mesmo quando a API usa outro domínio.
O Nostr WoT 0.8.7 separa o acesso de um site à sua identidade da autorização para autenticá-la em um serviço HTTP. Para WebSocket, consulte o guia de autenticação de relays.
APIs em domínios diferentes
Um site fictício https://client.example pode usar https://api.client.example/session. Isso é normal. A extensão distingue o site que pede a assinatura do serviço que receberá a prova.
Uma autorização HTTP salva vale apenas para a conta, a origem do site, a URL assinada exata e o método HTTP, como POST. Inclui o texto da consulta. Outra rota, porta, consulta, método, conta ou site exige autorização própria. A regra também vale quando site e API têm a mesma origem. Permissões antigas abrangentes exigem novo consentimento; recusas continuam válidas.
O diretório de clientes e backends apenas informa. Uma entrada não concede acesso nem dispensa consentimento.
Revise o pedido
O diálogo identifica site e destino. Aprovar e Rejeitar afetam o pedido atual. Os menus das setas permitem lembrar a decisão para aquela combinação exata. HTTP não oferece autorização para todos os sites.
O botão de código mostra o evento completo. A aprovação em lote de assinaturas comuns exclui autenticações. A tabela no final de Permissões acompanha a conta ativa e permite revogar decisões. Revogar impede assinaturas futuras; não recolhe provas já enviadas nem encerra sessões no backend.
O que a extensão verifica
A origem vem da identidade do documento fornecida pelo navegador. A página não pode escolher outra origem em um campo RPC. A autenticação exige um quadro principal verificado; iframes, inclusive da mesma origem, e origens opacas ou inconsistentes são recusados. HTTPS é obrigatório, salvo exceções explícitas de desenvolvimento em loopback.
São rejeitados tags obrigatórias ambíguas, URLs inválidas, conteúdo inesperado e timestamps vencidos. As tags opcionais origin e client-origin devem coincidir com a origem real. Acesso ao site, permissões e sessão da conta são verificados novamente após aprovação ou desbloqueio. Um assinante NIP-46 deve devolver uma assinatura da conta esperada sobre o evento aprovado inteiro, inclusive a ordem das tags.
Proteção da carteira integrada
Criar ou recuperar uma carteira e gerenciar endereços Lightning usa o protocolo v2 do LNbits-proxy. O assinante genérico de sites recusa tokens para essas rotas sensíveis.
A prova vincula URL, método e hash dos bytes exatos do corpo. O desafio do backend dura 60 segundos e só pode ser consumido uma vez. Um token de transação separado vai em seu próprio cabeçalho; apenas seu hash é assinado. O servidor verifica a assinatura e os vínculos antes de consumir o desafio atomicamente. Pedidos do navegador também exigem uma origem HTTPS permitida e um client-origin assinado correspondente. Rotas antigas retornam 426; não há retorno ao protocolo anterior.
Limites
NIP-98 depende de o backend validar URL e método. A extensão não pode obrigar outros servidores a implementar essa validação. Quem possui uma prova válida e os tokens exigidos pode encaminhá-los ao destino correto antes do primeiro uso.
CORS restringe navegadores, não chamadas entre servidores. Uma tag de origem não comprova criptograficamente o navegador. Código malicioso dentro de um site principal autorizado compartilha sua autoridade. Esses controles limitam o consentimento, mas não eliminam todo phishing ou encaminhamento de autenticação.
Veja o contrato v2 e os testes de autenticação.