После инициализации клиента входа в Google вы можете подключить обработчики, которые проверяют различные атрибуты и методы клиента, чтобы определить состояние сеанса пользователя. Вы можете использовать информацию, возвращаемую клиентским объектом, чтобы синхронизировать взаимодействие с пользователем вашего сайта на нескольких вкладках и устройствах для вашего пользователя.
В следующем коде показано использование клиентского метода attachClickHandler
версии 2.0 для создания обратного вызова, который либо автоматически завершает вход пользователя в систему, либо предлагает пользователю выполнить повторную авторизацию в зависимости от состояния сеанса пользователя.
/**
* The Sign-In client object.
*/
var auth2;
/**
* Initializes the Sign-In client.
*/
var initClient = function() {
gapi.load('auth2', function(){
/**
* Retrieve the singleton for the GoogleAuth library and set up the
* client.
*/
auth2 = gapi.auth2.init({
client_id: 'CLIENT_ID.apps.googleusercontent.com'
});
// Attach the click handler to the sign-in button
auth2.attachClickHandler('signin-button', {}, onSuccess, onFailure);
});
};
/**
* Handle successful sign-ins.
*/
var onSuccess = function(user) {
console.log('Signed in as ' + user.getBasicProfile().getName());
};
/**
* Handle sign-in failures.
*/
var onFailure = function(error) {
console.log(error);
};