Saltar para o conteúdo
Dialova

Documentação IRC · Avançado

Comando AUTHENTICATE: trocar dados SASL

AUTHENTICATE transmite uma troca SASL após a ativação da capacidade sasl. Não é um comando para escrever um segredo num canal. O mecanismo escolhido define os dados, o seu significado e os requisitos prévios.

A equipa do Dialova · Verificado em

Sintaxe e parâmetros #

Sintaxe do protocolo, sem a / do cliente
AUTHENTICATE <mécanisme | données-base64 | + | *>
ParâmetroSignificado
mecanismoPor exemplo PLAIN ou EXTERNAL, se o servidor o disponibilizar.
dados-base64Resposta do mecanismo, dividida segundo as regras SASL de IRC.
+ / *+ representa uma resposta vazia; * pede o cancelamento da troca.

Exemplo comentado #

Troca IRC: C = cliente, S = servidor
C: CAP REQ :sasl
S: :irc.example CAP Alice ACK :sasl
C: AUTHENTICATE EXTERNAL
S: AUTHENTICATE +
C: AUTHENTICATE +
S: :irc.example 903 Alice :SASL authentication successful
C: CAP END

Os pseudónimos, hosts e textos desta troca são fictícios. O cliente pode apresentar as respostas de forma mais legível do que as linhas de protocolo aqui mostradas.

Respostas e erros possíveis #

RespostaSignificado
900 / 903Informação de ligação à conta e autenticação SASL bem-sucedida, conforme as respostas emitidas.
908Lista de mecanismos disponível nos casos previstos pela especificação.
ErroCausa habitual
904Falha de autenticação SASL.
905Resposta demasiado longa.
906Troca cancelada.
907A conta já está autenticada para uma utilização não permitida.

Permissões, compatibilidade e cuidados #

Este exemplo EXTERNAL pressupõe um certificado de cliente aceite e associado à conta. Não funciona só por TLS estar ativo: TLS autentica primeiro o servidor, e o certificado de cliente exige configuração adicional.

Com PLAIN, a resposta contém a identidade de autorização, a identidade de autenticação e a palavra-passe, separadas por bytes NUL e codificadas em Base64. Base64 não cifra nada: usa uma ligação TLS validada.

Cada bloco de dados codificados tem um máximo de 400 bytes. Se o comprimento total codificado for um múltiplo exato de 400, um AUTHENTICATE + final indica o fim. Envia CAP END apenas no momento adequado ao resultado ou ao cancelamento.

Perguntas frequentes #

SASL pede sempre a palavra-passe do site? Não. As credenciais dependem do serviço. O Dialova usa uma chave IRC própria.

Posso enviar AUTHENTICATE a meio de uma conversa? A reautenticação depende do servidor e de SASL 3.2; não é uma forma universal de mudar de conta sem desligar.

Fontes e verificação

Os exemplos usam alcunhas e domínios fictícios, salvo os pontos de ligação expressamente documentados. As extensões e definições específicas de uma rede são assinaladas no texto.