2016-04-29 1 views
0

Я использую Meteor.loginWithGoogle в своем приложении. Я пытаюсь получить адрес электронной почты пользователя google, чтобы поместить его в переменную Session.Поместите адрес электронной почты из Meteor.loginWithGoogle в переменную сеанса

Template.login.events({ 
    'click #google-login': function(event){ 
    Meteor.loginWithGoogle({}, function(err){ 
     if (err) { 
     throw new Meteor.Error("Google login failed"); 
     } else { 
     const emailAddress = ?; // how do I get this from google? 
     Session.set('email',emailAddress); 
     Router.go('/profile'); 
     } 
    }); 
    } 
}); 

ответ

1

Я не уверен, понял ли я на ваш вопрос, но я предполагаю, что вы пытаетесь спросить: «После того, как пользователь выполнил loginWithGoogle, как я могу получить его адрес электронной почты, и установить его в его сессию?

После входа в систему Meteor.user() содержит текущий пользовательский документ. Имея это в виду:

const currentUser = Meteor.user(); 
const userGoogleServiceMain = currentUser.services.google.email; 

С, что вы можете иметь:

Template.login.events({ 
    'click #google-login': function(event){ 
    Meteor.loginWithGoogle({}, function(err){ 
     if (err) { 
     throw new Meteor.Error("Google login failed"); 
     } else { 
     const currentUser = Meteor.user(); 
     const emailAddress = currentUser.services.google.email; 
     Session.set('email',emailAddress); 
     Router.go('/profile'); 
     } 
    }); 
    } 
}); 

Вы можете найти более подробную информацию о том, что в: Meteor documentation и http://cs.wellesley.edu/~mashups/pages/meteor6.html

+0

Благодаря его работы –

+0

Рад помочь. Если это правильный ответ, вы можете отметить его –

Смежные вопросы