1<testcase>
2<info>
3<keywords>
4IMAP
5SASL
6SASL AUTH OAUTH2
7SASL-IR
8RFC6749
9RFC7628
10</keywords>
11</info>
12
13#
14# Server-side
15<reply>
16<servercmd>
17AUTH OAUTHBEARER
18CAPA SASL-IR
19REPLY AUTHENTICATE + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0=
20REPLY AQ== A002 NO Authentication failed
21</servercmd>
22</reply>
23
24#
25# Client-side
26<client>
27<server>
28imap
29</server>
30 <name>
31IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response
32 </name>
33 <command>
34'imap://%HOSTIP:%IMAPPORT/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM
35</command>
36# The protocol section doesn't support ways of specifying the raw data in the
37# base64 encoded message so we must assert this
38<precheck>
39perl -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>
4867
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>
54A001 CAPABILITY
55A002 AUTHENTICATE OAUTHBEARER dXNlcj11c2VyAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9OTAwMwFhdXRoPUJlYXJlciBtRl85LkI1Zi00LjFKcU0BAQ==
56AQ==
57</protocol>
58</verify>
59</testcase>
60