Я пытаюсь получить токен доступа 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