Vai al contenuto
Dialova

Documentazione IRC · Avanzato

Comando AUTHENTICATE: scambiare dati SASL

AUTHENTICATE trasporta uno scambio SASL dopo l’attivazione della capacità sasl. Non è un comando da digitare con un segreto in un canale. Il meccanismo scelto definisce i dati, il loro significato e i prerequisiti.

Il team di Dialova · Verificato il

Sintassi e parametri #

Sintassi del protocollo, senza la / del client
AUTHENTICATE <mécanisme | données-base64 | + | *>
ParametroSignificato
meccanismoPer esempio PLAIN o EXTERNAL, se il server lo offre.
dati-base64Risposta del meccanismo, suddivisa secondo le regole SASL di IRC.
+ / *+ rappresenta una risposta vuota; * richiede di interrompere lo scambio.

Esempio commentato #

Scambio IRC: C = client, S = server
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

Nickname, host e testi di questo scambio sono fittizi. Il client può mostrare le risposte in una forma più leggibile rispetto alle righe del protocollo qui riportate.

Risposte e possibili errori #

RispostaSignificato
900 / 903Informazioni di accesso all’account e autenticazione SASL riuscita, secondo le risposte emesse.
908Elenco dei meccanismi disponibile nei casi previsti dalla specifica.
ErroreCausa abituale
904Autenticazione SASL non riuscita.
905Risposta troppo lunga.
906Scambio interrotto.
907Account già autenticato per un uso non consentito.

Permessi, compatibilità e precauzioni #

Questo esempio EXTERNAL presuppone un certificato client accettato e associato all’account. Non funziona solo perché TLS è attivo: TLS autentica anzitutto il server, mentre il certificato client richiede una configurazione aggiuntiva.

Con PLAIN la risposta contiene identità di autorizzazione, identità di autenticazione e password separate da byte NUL, poi codificate in Base64. Base64 non cifra nulla: usa un trasporto TLS validato.

Ogni blocco di dati codificati è limitato a 400 byte. Se la lunghezza totale codificata è un multiplo esatto di 400, un AUTHENTICATE + finale ne indica la fine. Invia CAP END solo al momento coerente con l’esito o l’interruzione.

Domande frequenti #

SASL richiede sempre la password del sito? No. Le credenziali dipendono dal servizio. Dialova usa una chiave IRC dedicata.

Posso inviare AUTHENTICATE durante una conversazione? La riautenticazione dipende dal server e da SASL 3.2; non è un modo universale per cambiare account senza disconnettersi.

Fonti e verifica

Gli esempi usano nickname e domini fittizi, tranne gli endpoint esplicitamente documentati. Le estensioni e le impostazioni specifiche di una rete sono indicate nel testo.