IE11 пропущенный параметр url при перенаправлении на redirect_uri https://login.microsoftonline.com/common/oauth2/authorize - PullRequest
0 голосов
/ 29 мая 2020

В IE11 пропущенные параметры URL-адреса при перенаправлении на redirect_uri после успешной аутентификации с помощью https://login.microsoftonline.com/common/oauth2/authorize

Я использую простое начало и простое завершение из
https://github.com/OfficeDev/microsoft-teams-sample-auth-node/tree/master/src/views/tab/simple sdk v1.6.0
с единственной разницей, я не вызываю

microsoftTeams.getContext(function (context) {

, поскольку он никогда не запускает обратный вызов, и я не использую параметры контекста

У меня нет проблем с Chrome и Firefox. В этих браузерах после перенаправления url содержит все параметры, включая «состояние». Однако, когда я использую IE, он перенаправляет меня обратно на простой конец, но url содержит только access_token. Он не включает "состояние", которое приводит к ошибке (простой конец):

   if (expectedState !== hashParams["state"]) {
      // State does not match, report error
      localStorage.setItem("simple.error", JSON.stringify(hashParams));
      microsoftTeams.authentication.notifyFailure("StateDoesNotMatch");

Параметры, которые я отправляю с запросом:

           let queryParams = {
                client_id: "****",
                response_type: "id_token token",
                response_mode: "fragment",
                redirect_uri: location.origin + "/tab-auth/simple-end.html",
                nonce: _guid(),
                resource: "https://graph.microsoft.com/",
                state: state,
            };
let authorizeEndpoint = "https://login.microsoftonline.com/common/oauth2/authorize?" + toQueryString(queryParams);
location.assign(authorizeEndpoint);

Это происходит только в IE . Кто-нибудь прошел через это, используя IE?

...