XOAUTH2 Django中的SASL参数无效

35g0bw71  于 2023-05-08  发布在  Go
关注(0)|答案(1)|浏览(85)

我创建了Django项目,在这个项目中,我有一个时刻,它通过XOAUTH2gmail中进行身份验证。这段代码在本地工作(如果我创建python项目并运行它):

is_authenticate = False
    imap_conn = imaplib.IMAP4_SSL(host='imap.gmail.com', port=993)
    imap_conn.debug = 4
    try:
        imap_conn.authenticate(mechanism='XOAUTH2', authobject=lambda x: auth_string)
        is_authenticate = True
    except BaseException as e:
        print(e)

    return is_authenticate

但在Django项目中,我有一个例外:
AUTHENTICATE命令错误:BAD [b '无效的SASL参数。n1mb22847377ltj']
这是调试信息:

06:55.79 > b'HLKK1 AUTHENTICATE XOAUTH2'
  06:55.86 < b'+ '
  06:55.86 write literal size 304
  06:56.05 < b'+ eyJzdGF0dXMiOiI0MDAiLCJzY2hlbWVzIjoiQmVhcmVyIiwic2NvcGUiOiJodHRwczovL21haWwuZ29vZ2xlLmNvbS8ifQ=='
  06:56.05 write literal size 304
  06:56.24 < b'HLKK1 BAD Invalid SASL argument. n1mb22847377ltj'
  06:56.24 BAD response: b'Invalid SASL argument. n1mb22847377ltj'
bttbmeg0

bttbmeg01#

你打电话来的时候

imap_conn.authenticate(mechanism='XOAUTH2', authobject=lambda x: auth_string)

auth_string值/您的authobject函数不能执行任何base64编码。底层的imaplib库为您执行base64。

相关问题