Поделиться через


OfficeRuntime.Auth interface

Интерфейс, содержащий API-интерфейсы, связанные с авторизацией.

Комментарии

Методы в этом интерфейсе эквивалентны методам в интерфейсе Office.auth. Если в будущем будут добавлены новые типы проверки подлинности, они будут добавлены только в Office.auth интерфейс. Для простоты в примерах кода в документации используется Office.auth.

Примеры

// Get the auth context object and use it to get an
// access token.
const authContext = OfficeRuntime.context.auth;
const accessToken = authContext.getAccessTokenAsync();

Методы

getAccessToken(options)

Вызывает конечную точку Azure Active Directory версии 2.0, чтобы получить маркер доступа к вашей надстройке в веб-приложении. Позволяет надстройкам идентифицировать пользователей. Серверный код может использовать этот маркер для доступа к Microsoft Graph для веб-приложения надстройки с помощью потока OAuth "от имени". Для этого API необходима конфигурация единого входа, связывающая надстройку с приложением Azure. Пользователи Office входят с помощью учетных записей организаций и учетных записей Майкрософт. Microsoft Azure возвращает маркеры, предназначенные для учетных записей обоих типов, для доступа к ресурсам в Microsoft Graph.

Сведения о методе

getAccessToken(options)

Вызывает конечную точку Azure Active Directory версии 2.0, чтобы получить маркер доступа к вашей надстройке в веб-приложении. Позволяет надстройкам идентифицировать пользователей. Серверный код может использовать этот маркер для доступа к Microsoft Graph для веб-приложения надстройки с помощью потока OAuth "от имени". Для этого API необходима конфигурация единого входа, связывающая надстройку с приложением Azure. Пользователи Office входят с помощью учетных записей организаций и учетных записей Майкрософт. Microsoft Azure возвращает маркеры, предназначенные для учетных записей обоих типов, для доступа к ресурсам в Microsoft Graph.

getAccessToken(options?: AuthOptions): Promise<string>;

Параметры

options
OfficeRuntime.AuthOptions

Необязательный параметр. AuthOptions Принимает объект для определения поведения входа.

Возвращаемое значение

Promise<string>

Обещание маркеру доступа.

Комментарии

Приложения: Excel, Outlook, PowerPoint, Word

Важно!

  • В Outlook этот API не поддерживается при загрузке надстройки в почтовый ящик Outlook.com или Gmail.

  • В Outlook в Интернете этот API не поддерживается, если вы используете браузер Safari. Это приводит к ошибке 13001 ("Пользователь не вошел в Office").

  • В Outlook в Интернете, если для открытия диалогового окна используется метод displayDialogAsync, его необходимо закрыть перед вызовом getAccessToken.

Примеры

async function getUserData() {
  try {
      let userTokenEncoded = await OfficeRuntime.auth.getAccessToken();
      let userToken = jwt_decode(userTokenEncoded); // Using the https://www.npmjs.com/package/jwt-decode library.
      console.log(userToken.name); // user name
      console.log(userToken.preferred_username); // email
      console.log(userToken.oid); // user id     
  }
  catch (exception) {
      if (exception.code === 13003) {
          // SSO is not supported for domain user accounts, only
          // Microsoft 365 Education or work account, or a Microsoft account.
      } else {
          // Handle error
      }
  }
}