У меня есть сайт, где пользователи могут использовать свои учетные записи Google для аутентификации. Входная часть работает хорошо, но не работает. Если бэкэнд обнаруживает проблему при входе в Google, пользователь перенаправляется на страницу выхода, которая вызывает этот скрипт
function signOut(destination) {
gapi.load('auth2', function () {
gapi.auth2.init().then(function () {
let auth2 = gapi.auth2.getAuthInstance();
if (!auth2.isSignedIn.get()) {
window.location = destination;
}
auth2.signOut().then(function () {
auth2.disconnect().then(function () {
window.location = destination;
});
});
});
});
}
Это похоже на то, что описано в руководстве для разработчиков Google, но я думаю, что перенаправление выполняется слишком рано, и пользователь возвращается на страницу входа, где кнопка входа в Google перенаправляет на сервер и, наконец, на страницу выхода из системы, вызывая почти бесконечное l oop. Я попытался отложить перенаправление, используя setTimout, установленный на 5/10 секунд, но l oop происходит как минимум 2 раза до выхода пользователя из системы.
Может кто-нибудь сказать мне, если я делаю что-то не так или любое решение / обходной путь?