1 <testcase> 2 <info> 3 <keywords> 4 IMAP 5 SASL 6 SASL AUTH OAUTH2 7 SASL-IR 8 RFC6749 9 RFC7628 10 </keywords> 11 </info> 12 13 # 14 # Server-side 15 <reply> 16 <servercmd> 17 AUTH OAUTHBEARER 18 CAPA SASL-IR 19 REPLY AUTHENTICATE + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= 20 REPLY AQ== A002 NO Authentication failed 21 </servercmd> 22 </reply> 23 24 # 25 # Client-side 26 <client> 27 <server> 28 imap 29 </server> 30 <name> 31 IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response 32 </name> 33 <command> 34 'imap://%HOSTIP:%IMAPPORT/845/;UID=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM 35 </command> 36 # The protocol section doesn't support ways of specifing the raw data in the 37 # base64 encoded message so we must assert this 38 <precheck> 39 perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%IMAPPORT' ne '9003' );" 40 </precheck> 41 </client> 42 43 # 44 # Verify data after the test has been "shot" 45 <verify> 46 # 67 - CURLE_LOGIN_DENIED 47 <errorcode> 48 67 49 </errorcode> 50 # 51 # The multi interface considers a broken "CONNECT" as a prematurely broken 52 # transfer and such a connection will not get a "LOGOUT" 53 <protocol> 54 A001 CAPABILITY 55 A002 AUTHENTICATE OAUTHBEARER dXNlcj11c2VyAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9OTAwMwFhdXRoPUJlYXJlciBtRl85LkI1Zi00LjFKcU0BAQ== 56 AQ== 57 </protocol> 58 </verify> 59 </testcase> 60