В нашей надстройке 365 мы используем API Office.context.mailbox.userProfile.emailAddress
для получения адреса электронной почты пользователя, для аутентификации / извлечения данных с нашим собственным бэкэндом (например, для получения данных пользователя).Он возвращает противоречивые результаты в зависимости от настройки пользователя 365.Некоторым пользователям, у которых настроена система единого входа с помощью org, после прохождения процесса OAuth будет возвращен совершенно другой адрес электронной почты из этого API - это означает, что он вернет что-то вроде jon.smith@domain.com
pre-OAuth, затем после завершения OAuth это же значениевернет j.smith@global.domain.com
, или некоторую перестановку этого сценария.У других пользователей этот API возвращает одно электронное письмо, когда они находятся в OWA, и другое электронное письмо, когда они находятся на клиентах для настольных ПК.
Поскольку наш сервер использует адрес электронной почты в качестве уникального идентификатора, это вызывает некоторые проблемы для нас.Мне интересно, есть ли лучший способ справиться с получением адреса электронной почты пользователя или личности вообще.Я помню, как читал о 365 API, который не был готов к работе для входа в систему единого входа, но это было некоторое время назад, может быть, его производство уже готово?Я не смог найти никакой дополнительной информации об этой функции.
Если кто-нибудь сможет пролить свет на то, что происходит со сценариями, которые я описал выше, я был бы признателен.
edit - это функция входа в систему единого входа, которая еще не готова к работе. Я говорил о https://docs.microsoft.com/en-us/office/dev/add-ins/develop/sso-in-office-add-ins
дата выглядит так, как будто она была обновлена совсем недавно, поэтому можно с уверенностью предположитьчто это не будет готово к производству?