Office js Outlook API возвращает недопустимый токен JWT для EWS - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть надстройка в Outlook, которая имеет разрешения ReadWriteMailbox, но когда я вызываю getCallbackTokenAsync ({isRest: false}, callback), токен, который я получаю обратно, не имеет подписи.По сути, токен, который я получаю, имеет формат xxxxxx.yyyyyy (вместо xxxxxx.yyyyyy.ZZZZZZ).

Это, похоже, только что начало происходить в последние 2 дня, однако в последний раз яЯ работал над этим проектом около 4 месяцев назад, поэтому он мог начаться где-то раньше, но сейчас я вижу ошибку.

Сервер EWS - Office 365 (https://outlook.office365.com/EWS/Exchange.asmx).

. Я также заметил, что вызов getCallbackTokenAsync возвратил тот же токен, за исключением подписи за последние 2 дня.

1 Ответ

0 голосов
/ 28 декабря 2018

После того, как я почти выдернул свои волосы, я заставил их работать.

Первоначальной проблемой получения недействительного JWT было кульминация нескольких проблем (или предполагаемых проблем).JWT действительно был действителен, хотя срок его действия истек, но когда я вывел значение в консоль инструментов F12 во время отладки, значение было усечено до 1024 символов.Я обнаружил, что здесь: https://stackoverflow.com/a/27844847/4520915. Срок действия JWT истек, поскольку он использовал токен из кэша вместо запроса нового из EWS.Я исправил это, закрыв Outlook, очистив кэш IE и снова открыв Outlook, как это было предложено командой надстроек Outlook - MSFT .

. Теперь проблема заключалась в том, что EWS принималамаркер, потому что я продолжал получать ошибку 401 («Доступ запрещен. Проверьте свои учетные данные и повторите попытку.»).Я обнаружил, что это потому, что я запускал надстройку и последующую функцию Azure, которую она использует на localhost.Судя по всему, EWS не любит localhost.После развертывания надстройки в среде разработки у нас все хорошо.

Спасибо команде разработчиков надстроек - MSFT за помощь.

...