4.1. Příkaz AUTHENTICATE
Klient příkazem AUTHENTICATE indikuje použitý autentizační mechanismus. Pokud server podporuje
zvolený autentizační mechanismus, provede výměnu autentizačních informací a autentizuje uživatele. Při autentizaci příkazem
authenticate se vyměňují pouze kodované informace.
Výměna autentizačních informací se skládá z řady pobídek serveru a odpovědí klienta,
které jsou specifikovány vybraným autentizačním mechanismem. Pobídky serveru se skládají z
pokračování požadavku příkazu , odpovědi serveru znakem "+" následovaným řetězcem s použitým kodováním BASE64.
Odpovědi klienta se skládají z řady retězců s použitým kodováním BASE64.
parametry: žádné
data: data mohou být vyžadována
výsledek:
OK - autentizace dokončena, přechází se do stavu autentizovaného
NO - autentizace neúspěšná, nepodporovaný autentizační mechanismus
BAD - neznámý příkaz nebo špatný argument
Příklad:
S: * OK KerberosV4 IMAP4rev1 Server
Tato odpověď přichází po navázání TCP spojení se serverem IMAP, identifikuje, které autentizační mechanismy server podporuje
C: A001 AUTHENTICATE KERBEROS_V4
Klient vybere mechanismus, kterým se chce autentizovat
S: + AmFYig==
C: BAcAQU5EUkVXLkNNVS5FRFUAOCAsho84kLN3/IJmrMG+25a4DT+nZImJjnTNHJUtxAA+o0KPKfHEcAFs9a3CL5Oebe/ydHJUwYFdWwuQ1MWiy6IesKvjL5rL9WjXUb9MwT9bpObYLGOKi1Qh
S: + or//EoAADZI=
C: DiAF5A4gA+oOIALuBkAAmw==
S: A001 OK Kerberos V4 authentication successful
Poznámka:
Konkrétní půběh autentizace je závislý na konkrétním použitém autentizačním mechanismu.
4.2. Příkaz LOGIN
Příkaz LOGIN identifikuje uživatele vůči IMAP serveru. Uživatelské jméno i heslo jsou odeslány
v jejich textové podobě (nejsou šifrovány).
parametry:
Uživatelské jméno
Heslo
data: nejsou specifikována žádná data pro tento příkaz
výsledek:
OK - přihlášení dokončeno, přechází se do stavu autentizovaného
NO - přihlášení neúspěšné, odmítnuto uživatelské jméno nebo heslo
BAD - neznámý příkaz nebo špatný argument
Příklad:
C: a001 LOGIN SMITH SESAME
S: a001 OK LOGIN completed
4.3. Cvičení
Jaký je rozdíl mezi příkazy LOGIN a AUTHENTICATE? V jakém stavu protokolu IMAP je možno je požít,
v jakém stavu se protokol IMAP nachází v případě úspěšného provedení příkazu, v jakém v případě chyby? Pokuste se použitím programu ETHEREAL odchytit a vyhodnotit
komunikaci mezi serverem v případě přihlášení ke schránce pomocí LOGIN a AUTHENTICATE. Která metoda je bezpečnější?