Zum Inhalt springen
Dialova

IRC-Dokumentation · Experten

AUTHENTICATE-Befehl: SASL-Daten austauschen

AUTHENTICATE überträgt den SASL-Austausch, nachdem die Capability sasl aktiviert wurde. Den Befehl gibst du nicht zusammen mit einem Geheimnis in einem Channel ein. Der gewählte Mechanismus bestimmt die Daten, ihre Bedeutung und die Voraussetzungen.

Dialova-Team · Überprüft am

Syntax und Parameter #

Protokollsyntax ohne den Schrägstrich des Clients
AUTHENTICATE <mécanisme | données-base64 | + | *>
ParameterBedeutung
mécanismeZum Beispiel PLAIN oder EXTERNAL, sofern vom Server angeboten.
données-base64Antwort des Mechanismus, aufgeteilt nach den SASL-Regeln für IRC.
+ / *+ steht für eine leere Antwort, * fordert den Abbruch des Austauschs an.

Erläutertes Beispiel #

IRC-Austausch: 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

Nicknames, Hosts und Texte dieses Beispiels sind frei erfunden. Der Client kann die Antworten verständlicher darstellen als die hier gezeigten Protokollzeilen.

Mögliche Antworten und Fehler #

AntwortBedeutung
900 / 903Angaben zur Kontoanmeldung und zum SASL-Erfolg, abhängig von den gesendeten Antworten.
908Liste der Mechanismen in den von der Spezifikation vorgesehenen Fällen.
FehlerÜbliche Ursache
904SASL fehlgeschlagen.
905Die Antwort ist zu lang.
906Der Austausch wurde abgebrochen.
907Das Konto ist für diesen nicht erlaubten Anmeldeversuch bereits authentifiziert.

Rechte, Kompatibilität und Sicherheit #

Das EXTERNAL-Beispiel setzt ein akzeptiertes, dem Konto zugeordnetes Clientzertifikat voraus. TLS allein reicht dafür nicht. TLS authentifiziert zunächst den Server; ein Clientzertifikat muss zusätzlich eingerichtet werden.

Bei PLAIN enthält die Antwort die Autorisierungsidentität, die Authentifizierungsidentität und das Passwort, getrennt durch NUL-Bytes und anschließend Base64-kodiert. Base64 verschlüsselt nicht. Verwende eine TLS-Verbindung mit gültiger Zertifikatsprüfung.

Die kodierten Daten werden in Abschnitte von höchstens 400 Bytes aufgeteilt. Ist die gesamte kodierte Länge ein exaktes Vielfaches von 400, kennzeichnet ein abschließendes AUTHENTICATE + das Ende. Sende CAP END erst passend zum Ergebnis oder nach einem Abbruch.

Häufige Fragen #

Verlangt SASL immer mein Website-Passwort? Nein. Die Zugangsdaten hängen vom Dienst ab. Dialova verwendet einen eigenen IRC-Schlüssel.

Kann ich AUTHENTICATE während eines Gesprächs senden? Eine erneute Authentifizierung hängt vom Server und SASL 3.2 ab. Sie ist kein universelles Verfahren zum Kontowechsel bei laufender Verbindung.

Quellen und Überprüfung

Die Beispiele verwenden erfundene Nicknames und Domains. Ausgenommen sind ausdrücklich dokumentierte Verbindungsadressen. Netzwerkspezifische Erweiterungen und Einstellungen werden im Text gekennzeichnet.