1 <testcase> 2 <info> 3 <keywords> 4 SMTP 5 SASL 6 SASL AUTH OAUTH2 7 SASL-IR 8 RFC4954 9 RFC6749 10 RFC7628 11 </keywords> 12 </info> 13 14 # 15 # Server-side 16 <reply> 17 <servercmd> 18 AUTH OAUTHBEARER 19 REPLY AUTH 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0 20 REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth 21 </servercmd> 22 </reply> 23 24 # 25 # Client-side 26 <client> 27 <server> 28 smtp 29 </server> 30 <name> 31 SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response 32 </name> 33 <stdin> 34 mail body 35 </stdin> 36 <command> 37 smtp://%HOSTIP:%SMTPPORT/949 --mail-rcpt recipient (a] example.com --mail-from sender (a] example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - 38 </command> 39 # The protocol section doesn't support ways of specifing the raw data in the 40 # base64 encoded message so we must assert this 41 <precheck> 42 perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%SMTPPORT' ne '9005' );" 43 </precheck> 44 </client> 45 46 # 47 # Verify data after the test has been "shot" 48 <verify> 49 # 67 - CURLE_LOGIN_DENIED 50 <errorcode> 51 67 52 </errorcode> 53 # 54 # The multi interface considers a broken "CONNECT" as a prematurely broken 55 # transfer and such a connection will not get a "QUIT" 56 <protocol> 57 EHLO 949 58 AUTH OAUTHBEARER dXNlcj11c2VyAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9OTAwNQFhdXRoPUJlYXJlciBtRl85LkI1Zi00LjFKcU0BAQ== 59 AQ== 60 </protocol> 61 </verify> 62 </testcase> 63