Метод входа в Google OAuth2 срабатывает при загрузке страницы - PullRequest
0 голосов
/ 09 июля 2020

Я использовал официальную кнопку для входа в Google:

Страница входа:

<div class="g-signin2" data-onsuccess="AuthenticateGoogleUser"></div>

function AuthenticateGoogleUser(googleUser){
    .....
    capture the user info and redirect to Home page
    .....
}

При настройке учетных данных я установил URL-адрес перенаправления на страницу входа.

Вот как происходит выход для приложения:

function SignOutGoogleUser() {
    if (gapi != null && gapi != undefined &&
        gapi.auth2 != null && gapi.auth2 != undefined) {
        var auth2 = gapi.auth2.getAuthInstance();
        auth2.signOut().then(function () {
            auth2.disconnect();    
            ....Redirect to Home page...        
        });
    }
}

Методы работают нормально. Если я выйду, будет перенаправлен на домашнюю страницу. Но когда я вручную просматриваю страницу входа после выхода из системы, запускается метод AuthenticateGoogleUser, и я автоматически вхожу в приложение (с учетной записью Google).

Метод AuthenticateGoogleUser должен запускаться только на нажмите кнопку. Это правильно. Но здесь он срабатывает при загрузке страницы входа. Это ожидается. Можно ли это остановить.

Я использую MVC C# как серверную часть.

1 Ответ

1 голос
/ 10 июля 2020

Не видя весь ваш код, я работаю в предположении, что вы не поместили функцию в готовую оболочку документа и убедитесь, что запускаете ее только при нажатии кнопки или другом событии, из которого вы хотели бы получить это огонь. В его нынешнем виде он будет срабатывать при загрузке этой страницы.

$(document).ready(function(){
   $("btnLogin").click(function(){
      AuthenticateGoogleUser(googleUser);
   });
});
...