XOAUTH-аутентификация на токенах imap-mail.outlook.com и MS Graph API - PullRequest
0 голосов
/ 17 октября 2018

В настоящее время мы получаем токены доступа / обновления с помощью MS Live API (https://login.live.com/oauth20_token.srf). Затем мы аутентифицируемся на imap-mail.outlook.com, используя этот токен доступа:

auth_string = 'user=%s\1auth=Bearer %s\1\1' % (email, access_token)
imap_conn = imaplib.IMAP4_SSL('imap-mail.outlook.com')
imap_conn.debug = 4
imap_conn.authenticate('XOAUTH2', lambda x: auth_string)
imap_conn.select('INBOX')
print(imap_conn.list())

Все работает нормально.

К сожалению, MS Live API устареет в ближайшее время: https://docs.microsoft.com/en-us/onedrive/developer/rest-api/concepts/migrating-from-live-sdk?view=odsp-graph-online

Поэтому мы пытаемся использовать токены MS Graph API. Мы получаем токены:

{ 'access_token': '****',
  'scope': 'User.Read Mail.Send Mail.ReadWrite', 
  'refresh_token': '***',
  'token_type': 'Bearer',
  'ext_expires_in': 0,
  'expires_in': 3600
}

Но когдамы используем этот токен, мы всегда получаем:

46:15.27 > b'JEKB1 AUTHENTICATE XOAUTH2'
46:15.57 < b'+ '
46:15.57 write literal size 1584
46:21.21 < b'JEKB1 NO AUTHENTICATE failed.'
46:21.21 NO response: b'AUTHENTICATE failed.'

Итак, вопросы: 1. Можно ли подключиться к imap-mail.outlook.com с помощью токенов MS Graph API? 2. Если нет, какэто будет работать, когда MS Live API больше не будет доступен?

1 Ответ

0 голосов
/ 18 октября 2018
  1. Можно ли подключиться к imap-mail.outlook.com с помощью токенов MS Graph API?

Нет

Если нет, как это будет работать, когда MS Live API больше не будет доступен?

Вы можете напрямую использовать Graph API для outlook ( официальные документы для python *)1015 *, официальные документы для outlook , пример github ), нет необходимости использовать ваш текущий способ.

...