Проблема обновления токена Adal.js в Angular

Токен обновления не работает, как я ожидал, в adal.js(@types - 1.0.8), когда пользователь простаивает на экране в течение последних 15 минут (потому что я обновляю токен до истечения 15 минут после истечения срока действия старого токена), и после этого выполняю действие, то мой сервисный вызов не удастся. потому что он получает старый токен (срок действия которого истекает) в заголовке, но обновление токена также выполняется после этого. Как я могу справиться с этим в AngularJS и Adal библиотеки? Я использовал приведенный ниже код для получения токена обновления

this.authenticationContext.getCachedUser();
    this.authenticationContext.acquireToken(config.clientId, function (errorDesc, token) {
        if (errorDesc) {
            console.log("ErrorDesc", errorDesc);
        }
        if (token) {
            console.log("calling the Web API with the access token", token);
        }
    });

в угловых.

1 ответ

  1. Убедитесь, что ваши URL-адреса ответов и URI перенаправления совпадают и правильно настроены как при регистрации вашего приложения, так и в настройках вашего config / app.
  2. Добавьте метод var user = authContext.getCachedUser() сразу после вызова authContext.handleWindowCallback в вашем index.js. Эта функция устанавливает пользовательское свойство adal, и оно должно запускаться при каждой загрузке страницы.
  3. Установить время жизни токена. https://docs.microsoft.com/en-us/azure/active-directory/active-directory-configurable-token-lifetimes

Срок действия токена проверки подлинности Azure истекает каждые 1 час. вам необходимо обновить токен до истечения срока его действия. для этой цели существует множество оболочек angular над библиотекой ADAL.js. См. Мой ответ в приведенной ниже ссылке, чтобы получить представление.

Adal Angular 4 - токен обновления не работает должным образом

Другие вопросы по тегам