На самом деле, как выясняется, пользователь все еще входит в свою учетную запись Google, поэтому технически isSignedIn.get () возвращает правильное значение.Я подтвердил это, открыв новую вкладку браузера и перейдя в gmail - ясно, что я все еще вошел в систему. Однако, более важно, что этот код отменяет все разрешения, которые пользователь предоставил моему приложению - в этом сутьэтой функции выхода из системы.Чтобы проверить это -
GoogleAuth.currentUser.get (). HasGrantedScopes (SCOPE) == false
Таким образом, составной тест для входа в учетную запись Google в моем приложении:
GoogleAuth.isSignedIn.get () == true && GoogleAuth.currentUser.get (). HasGrantedScopes (SCOPE) == true
Вот измененная функция выхода из системы.(Та же функциональность, только что изменили операторы отладки, чтобы показать отзыв привилегий областей.)
function googleLogOut () {
debugAlert("googleLogOut:Begin");
GoogleAuth.disconnect();
GoogleAuth.signOut().then(function () {
debugAlert("googleLogOut:Logout Completed, current login status = " + GoogleAuth.isSignedIn.get());
if (GoogleAuth.isSignedIn.get()) {
debugAlert("googleLogOut:Logout Completed, current SCOPE status = " + GoogleAuth.currentUser.get().hasGrantedScopes(SCOPE));
}
userNotLoggedIn();
debugAlert("googleLogOut:Exit");
});
}