Я пишу надстройку Word.Надстройка будет платной надстройкой, которую может приобрести организация (арендатор Office 365) или частное лицо.
Лицензирование
После покупки пользователь должен пройти аутентификацию.Чтобы убедиться, что у пользователя есть лицензии на использование надстройки, я проверю либо по
- Если отдельный покупатель: ищет идентификатор или электронную почту, связанную с учетной записью Microsoft пользователя
- Если организационная структурапользователь: посмотрите идентификатор арендатора и номер ссылки лицензий
Я не ожидаю, что Microsoft предоставит / сохранит какие-либо данные о лицензировании.Лицензионные данные (термины и идентификаторы) будут храниться в моей собственной базе данных.
Аутентификация
Пока SSO не выйдет из предварительного просмотра, я планирую использовать Authenticator
из office-js-helpers
, чтобы получить информацию о пользователе, который выполнил вход в мою надстройку.
В вспомогательных документах перечислены следующие возможные стратегии OAuth:
var authenticator = new OfficeHelpers.Authenticator();
// register Microsoft (Azure AD 2.0 Converged auth) endpoint using
authenticator.endpoints.registerMicrosoftAuth('client id here');
// register Azure AD 1.0 endpoint using
authenticator.endpoints.registerAzureADAuth('client id here', 'tenant here');
// register Google endpoint using
authenticator.endpoints.registerGoogleAuth('client id here');
// register Facebook endpoint using
authenticator.endpoints.registerFacebookAuth('client id here');
// register any 3rd-Party OAuth Implicit Provider using
authenticator.endpoints.add('Name of provider', { /* Endpoint Configuration */ })
Graph API
Я понимаю, что после аутентификации пользователя я получу токен аутентификации, который можно использовать для запроса API Graph для получения информации о пользователе.
Вопрос
Мой вопрос заключается в том, какая стратегия OAuth ответит токеном Graph API, который будет возвращать информацию для:
- Отдельных пользователей с учетной записью Microsoft
- Организационные пользователи, связанные с идентификатором арендатора
?
Есть ли разница между
Microsoft (Azure AD 2.0 Converged auth) endpoint
и
Azure AD 1.0 endpoint