Реакция, надстройка Word - ClientAuthError: AcquireToken_In_Progress: ошибка при входе в систему - вход в систему уже выполняется - PullRequest
0 голосов
/ 09 января 2020

Я создаю плагин для слова с реакцией, и следующий шаг - аутентификация пользователя через MSAL.

Я следовал этому уроку . Я нахожусь в точке, где мой соответствующий код выглядит идентично этой кодовой базе. То есть:

login.ts login.html office-api-helpers.ts

Моя кнопка входа выглядит немного иначе, но по сути мы просто нажимаем кнопку и запускаем процесс входа в систему signInO365.

Если я использую пример кода и импортирую его с моим манифестом, и у моего идентификатора клиента все работает нормально. Но когда я пытаюсь сделать это из своей кодовой базы, я получаю следующую ошибку:

ClientAuthError: AcquireToken_In_Progress: Error during login call - login is already in progress.
at ClientAuthError.AuthError [as constructor] (webpack-internal:///../node_modules/msal/lib-es6/error/AuthError.js:25:28)
at new ClientAuthError (webpack-internal:///../node_modules/msal/lib-es6/error/ClientAuthError.js:110:28)
at Function.ClientAuthError.createAcquireTokenInProgressError (webpack-internal:///../node_modules/msal/lib-es6/error/ClientAuthError.js:154:16)
at UserAgentApplication.acquireTokenInteractive (webpack-internal:///../node_modules/msal/lib-es6/UserAgentApplication.js:292:238)
at UserAgentApplication.acquireTokenRedirect (webpack-internal:///../node_modules/msal/lib-es6/UserAgentApplication.js:236:14)
at Object.Office.initialize (webpack-internal:///../login/login.ts:45:26)
at OSF_InitializationHelper$prepareRightBeforeWebExtensionInitialize [as prepareRightBeforeWebExtensionInitialize] (https://appsforoffice.microsoft.com/lib/1.1/hosted/word-web-16.00.debug.js:11326:32)
at https://appsforoffice.microsoft.com/lib/1.1/hosted/office.debug.js:1754:59
at validateFunction (https://appsforoffice.microsoft.com/lib/1.1/hosted/office.debug.js:301:21)

Я пробирался вверх и вниз по этому коду, пытаясь выяснить, где может быть проблема, но, похоже, ничего не имеет смысла , Что может быть причиной этого?

Редактировать:

Это происходит, когда пользователь пытается войти в учетную запись. Сначала пользователь открывает надстройку, затем ему предоставляется кнопка входа в систему. Откроется диалоговое окно для входа в систему. html. Затем пользователь может выбрать учетную запись и ввести свои учетные данные. После перенаправления в Microsoft, похоже, что я вернулся на мою страницу перенаправления (опять же, просто войдите в систему. html), когда в консоли диалогового окна появляется указанное выше сообщение.

Похоже, что это происходит в userAgentApp.acquireTokenRedirect(request);, если пользователь ранее вошел в систему из примера приложения или userAgentApp.loginRedirect (запрос); если не.

Редактировать 2 - как бы то ни было, проблема была в последней (1.2.1) версии. Я вернулся к 1.1.3 за пример, и это решило его. Надеюсь, это поможет кому-то еще

...