Подключение к Exchange через EWS API - аутентификация Kerberos - из Windows - PullRequest
0 голосов
/ 23 апреля 2019

Мне нужно подключиться к Exchange Server (через EWS api) из Windows и загрузить сообщение с приложением.Итак, я создал скрипт ниже.Обмен с использованием Kerberos для аутентификации.Основные вопросы:

  1. Этот код будет работать?Или я должен использовать другие модули для подключения?Главным образом часть о подключении к Exchange с использованием Kerberos.
  2. На какой вещи я должен сосредоточиться или я должен проверить раньше?

Я использую Exchangelib для подключения к Exchange. Проблема связана с Exchangelib, кто-нибудь, использующий это в подобном случае, как я (подключается к EWS через Kerberos из Windows)?

from exchangelib import DELEGATE, Configuration, GSSAPI
from exchangelib.protocol import BaseProtocol, NoVerifyHTTPAdapter
from exchangelib import Account, ServiceAccount
import extract_msg
import logging.handlers
import os
import winkerberos as kerberos
from datetime import datetime


#connecting to Exchange

user='administrator@xy.test'
password='secret!@#'
BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter

config = Configuration(
    server='172.16.41.206',
    credentials = ServiceAccount(username=user, password=password),
    auth_type = GSSAPI
    )

account = Account(
    primary_smtp_address='administrator@xy.test',
    autodiscover=False,
    config=config,
    access_type=DELEGATE)

1 Ответ

0 голосов
/ 07 мая 2019

При использовании Kerberos auth код ожидает наличие действительного билета в вашей среде, поэтому для вашего кода Python не требуется имя пользователя и пароль. Просто используйте ServiceAccount('', ''), как описано в https://github.com/ecederstrand/exchangelib#setup-and-connecting

Я не знаю, как создать или проверить действительный билет Kerberos в Windows. В Linux я бы использовал kinit и klist.

Обратите внимание, что поддержка Kerberos в exchangelib не проверена и экспериментальна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...