Получение Azure2 токена из Javascript не всегда работает - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь получить токен доступа aouth2 с помощью java-скрипта, вызвав метод действия mvc для доступа к методам web-API.

Здесь я проверяю каждые 30 секунд, истек ли токен или нет, истекает ли онесли я пытаюсь получить новый токен. Проблема в том, что это работает, если я удаляю строку кода ниже

 if (Inittoken != null && Inittoken.accessToken.expires_on < currentdatetime)

Если я поставлю условие, он не сможет получить токен. Я получаю CORSошибка, поскольку ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin» с ошибкой 302.Я не могу понять, почему он работает, если я пытаюсь получить токен непрерывно каждые 30 секунд (даже если он не истекает), и почему он не работает, когда я пытаюсь получить токен, только у него истекает срок действия.Я знаю, что токен истечет через час

 setInterval(
         function () {
             var currentdatetime = new Date().getTime() / 1000;         
             if (Inittoken != null && Inittoken.accessToken.expires_on < currentdatetime) {

                 $.ajax({
                url: '/Common/GetAccessTokenJS',
                success: function (data) {
                    resonsedata = data;
                    settings.accessToken = JSON.parse(resonsedata);
                },
                error: function (req, status, errorObj) {
                    console.log("failed to get access token");
                    console.log(errorObj);
                }
            });          
            }

         }, 30000);

https://login.microsoftonline.com/tenantname/oauth2/token

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