В 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?