mirror of
https://github.com/curl/curl.git
synced 2024-12-27 06:59:43 +08:00
6227e2bd07
OAUTHBEARER tokens were incorrectly generated in a format similar to XOAUTH2 tokens. These changes make OAUTHBEARER tokens conform to the RFC7628. Fixes: #2487 Reported-by: Paolo Mossino Closes https://github.com/curl/curl/pull/3377
63 lines
1.5 KiB
Plaintext
63 lines
1.5 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
SMTP
|
|
SASL
|
|
SASL AUTH OAUTH2
|
|
SASL-IR
|
|
RFC4954
|
|
RFC6749
|
|
RFC7628
|
|
</keywords>
|
|
</info>
|
|
|
|
#
|
|
# Server-side
|
|
<reply>
|
|
<servercmd>
|
|
AUTH OAUTHBEARER
|
|
REPLY AUTH 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0
|
|
REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth
|
|
</servercmd>
|
|
</reply>
|
|
|
|
#
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
smtp
|
|
</server>
|
|
<name>
|
|
SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response
|
|
</name>
|
|
<stdin>
|
|
mail body
|
|
</stdin>
|
|
<command>
|
|
smtp://%HOSTIP:%SMTPPORT/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T -
|
|
</command>
|
|
# The protocol section doesn't support ways of specifying the raw data in the
|
|
# base64 encoded message so we must assert this
|
|
<precheck>
|
|
perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%SMTPPORT' ne '9005' );"
|
|
</precheck>
|
|
</client>
|
|
|
|
#
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
# 67 - CURLE_LOGIN_DENIED
|
|
<errorcode>
|
|
67
|
|
</errorcode>
|
|
#
|
|
# The multi interface considers a broken "CONNECT" as a prematurely broken
|
|
# transfer and such a connection will not get a "QUIT"
|
|
<protocol>
|
|
EHLO 949
|
|
AUTH OAUTHBEARER bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9OTAwNQFhdXRoPUJlYXJlciBtRl85LkI1Zi00LjFKcU0BAQ==
|
|
AQ==
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|