Выполнение надстройки Outlook WEB для getAccessToken возвращает код состояния 302 - PullRequest
0 голосов
/ 04 июня 2018

Я строго следую этой статье для создания веб-надстройки Outlook, но при выполнении getAccessToken я получаю 302:

Отсутствует грант дляэто дополнение.

с именем:

Предварительная авторизация отсутствует

Почему это так?Моя надстройка хорошо зарегистрирована на портале .Мне нужно сделать что-нибудь еще?Каков тип гранта для этого запроса и где я должен его разместить?

$("#getAccessTokenBtn").click(function () {
        Office.context.auth.getAccessTokenAsync(function (result) {
            if ("succeeded" === result.status) {
                // Use this token to call Web API
                var ssoToken = result.value; 
            } else {
                if (13003 === result.error.code) {
                    // SSO is not supported for domain user accounts, only
                    // work or school (Office 365) or Microsoft Account IDs.
                } else {
                    // Handle error
                }
            }
        });
    });

Это мой манифест:

<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
  <Requirements>
    <bt:Sets DefaultMinVersion="1.3">
      <bt:Set Name="Mailbox" />
    </bt:Sets>
  </Requirements>
  <Hosts>
    <Host xsi:type="MailHost">
        ...
    </Host>
  </Hosts>

  <Resources>
    ...
  </Resources>

  <WebApplicationInfo>
    <Id>94x668mb-461c-4r4e-851n-fb9721222e31</Id>
    <Resource>api://localhost:44374/94x668mb-461c-4r4e-851n-fb9721222e31</Resource>
    <Scopes>
      <Scope>profile</Scope>
      <Scope>user.read</Scope>
    </Scopes>
  </WebApplicationInfo>
</VersionOverrides>

Я нашел страницу устранения неполадок , которая предлагает для ошибки 13005 следующее:

13005 Недействительный грант.Обычно это означает, что Office не был предварительно авторизован для веб-службы надстройки.Для получения дополнительной информации см. Создание приложения-службы и Регистрация надстройки в конечной точке Azure AD v2.0 (ASP.NET) или Регистрация надстройки в AzureКонечная точка AD v2.0 (узел JS).Это также может произойти, если пользователь не предоставил разрешениям приложения-службы их профиль .

Что это вообще означает?

Прежде чем я запрашиваю AccessТокен, должен ли я согласиться следовать этой документации , просто перейдя по указанному ниже URL-адресу?

https://login.microsoftonline.com/common/adminconsent?client_id=94x668mb-461c-4r4e-851n-fb9721222e31

1 Ответ

0 голосов
/ 04 июня 2018

Да.При разработке вы должны дать согласие администратора, как описано здесь .

Еще одна причина, по которой вы получаете эту ошибку, заключается в том, что вы не авторизовали Outlook в надстройке.Когда вы регистрируете надстройку в AAD 2.0, убедитесь, что вы выполнили шаг 10 этой статьи: Зарегистрируйте надстройку SSO в AAD 2.0 .Наконец, если вы еще этого не сделали, ознакомьтесь с этой статьей, чтобы узнать о любых особых факторах, которые относятся к надстройкам Outlook: Аутентификация (Outlook) пользователя с токеном единого входа

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