1*6236dae4SAndroid Build Coastguard Worker<testcase> 2*6236dae4SAndroid Build Coastguard Worker<info> 3*6236dae4SAndroid Build Coastguard Worker<keywords> 4*6236dae4SAndroid Build Coastguard WorkerSMTP 5*6236dae4SAndroid Build Coastguard WorkerSASL 6*6236dae4SAndroid Build Coastguard WorkerSASL AUTH OAUTH2 7*6236dae4SAndroid Build Coastguard WorkerRFC4954 8*6236dae4SAndroid Build Coastguard WorkerRFC6749 9*6236dae4SAndroid Build Coastguard WorkerRFC7628 10*6236dae4SAndroid Build Coastguard Worker</keywords> 11*6236dae4SAndroid Build Coastguard Worker</info> 12*6236dae4SAndroid Build Coastguard Worker 13*6236dae4SAndroid Build Coastguard Worker# 14*6236dae4SAndroid Build Coastguard Worker# Server-side 15*6236dae4SAndroid Build Coastguard Worker<reply> 16*6236dae4SAndroid Build Coastguard Worker<servercmd> 17*6236dae4SAndroid Build Coastguard WorkerAUTH OAUTHBEARER 18*6236dae4SAndroid Build Coastguard WorkerREPLY AUTH 334 OAUTHBEARER supported 19*6236dae4SAndroid Build Coastguard WorkerREPLY %b64[n,a=user,%01host=127.0.0.1%01port=%SMTPPORT%01auth=Bearer mF_9.B5f-4.1JqM%01%01]b64% 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0 20*6236dae4SAndroid Build Coastguard WorkerREPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth 21*6236dae4SAndroid Build Coastguard Worker</servercmd> 22*6236dae4SAndroid Build Coastguard Worker</reply> 23*6236dae4SAndroid Build Coastguard Worker 24*6236dae4SAndroid Build Coastguard Worker#vi 25*6236dae4SAndroid Build Coastguard Worker# Client-side 26*6236dae4SAndroid Build Coastguard Worker<client> 27*6236dae4SAndroid Build Coastguard Worker<server> 28*6236dae4SAndroid Build Coastguard Workersmtp 29*6236dae4SAndroid Build Coastguard Worker</server> 30*6236dae4SAndroid Build Coastguard Worker<name> 31*6236dae4SAndroid Build Coastguard WorkerSMTP OAuth 2.0 (OAUTHBEARER) failure as continuation 32*6236dae4SAndroid Build Coastguard Worker</name> 33*6236dae4SAndroid Build Coastguard Worker<stdin> 34*6236dae4SAndroid Build Coastguard Workermail body 35*6236dae4SAndroid Build Coastguard Worker</stdin> 36*6236dae4SAndroid Build Coastguard Worker<command> 37*6236dae4SAndroid Build Coastguard Workersmtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt [email protected] --mail-from [email protected] -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - 38*6236dae4SAndroid Build Coastguard Worker</command> 39*6236dae4SAndroid Build Coastguard Worker</client> 40*6236dae4SAndroid Build Coastguard Worker 41*6236dae4SAndroid Build Coastguard Worker# 42*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot" 43*6236dae4SAndroid Build Coastguard Worker<verify> 44*6236dae4SAndroid Build Coastguard Worker# 67 - CURLE_LOGIN_DENIED 45*6236dae4SAndroid Build Coastguard Worker<errorcode> 46*6236dae4SAndroid Build Coastguard Worker67 47*6236dae4SAndroid Build Coastguard Worker</errorcode> 48*6236dae4SAndroid Build Coastguard Worker# 49*6236dae4SAndroid Build Coastguard Worker# The multi interface considers a broken "CONNECT" as a prematurely broken 50*6236dae4SAndroid Build Coastguard Worker# transfer and such a connection will not get a "QUIT" 51*6236dae4SAndroid Build Coastguard Worker<protocol> 52*6236dae4SAndroid Build Coastguard WorkerEHLO %TESTNUMBER 53*6236dae4SAndroid Build Coastguard WorkerAUTH OAUTHBEARER 54*6236dae4SAndroid Build Coastguard Worker%b64[n,a=user,%01host=127.0.0.1%01port=%SMTPPORT%01auth=Bearer mF_9.B5f-4.1JqM%01%01]b64% 55*6236dae4SAndroid Build Coastguard WorkerAQ== 56*6236dae4SAndroid Build Coastguard Worker</protocol> 57*6236dae4SAndroid Build Coastguard Worker</verify> 58*6236dae4SAndroid Build Coastguard Worker</testcase> 59