2015-05-29 2 views
2

Я хочу получить адрес электронной почты от Google OAuth, используя AngularFire, но при всплывании он не запрашивает разрешения на электронную почту.AngularFire Google OAuth не получает адрес электронной почты пользователя

Это код из Firebase Google auth doc

var ref = new Firebase("https://<your-firebase>.firebaseio.com"); 
ref.authWithOAuthPopup("google", function(error, authData) { /* Your Code */ }, { 
    scope: "email" 
}); 

Он работает в моем угловом приложении, но как я могу исправить мой угловой код, чтобы сделать то же самое?

var ref = new Firebase("https://<your-firebase>.firebaseio.com"); 
var auth = $firebaseAuth(ref); 
auth.$authWithOAuthPopup("google").then(function(authData) { 
    /* Code */ 
}).catch(function(error) { 
    console.error("Authentication failed:", error); 
}); 

Link to the same problem with answer, но я не получаю ответ, и как это исправить.

+0

Кроме того, из того же документа, для справки: 'authData.google.email' содержит основной адрес электронной почты пользователя Google, как указаны на их профиль. Возвращается только в том случае, если доступен действительный адрес электронной почты, и пользовательское разрешение электронной почты Google было предоставлено пользователем. – Kato

ответ

3

Вы пробовали пропустить опции?

var ref = new Firebase("https://<your-firebase>.firebaseio.com"); 
var auth = $firebaseAuth(ref); 
auth.$authWithOAuthPopup("google", { scope: 'email' }).then(function(authData) { 
    /* Code */ 
}).catch(function(error) { 
    console.error("Authentication failed:", error); 
}); 

Как отмечают Като, Документы предоставить эту информацию, а также: link

+0

Похоже на правильный выбор. Также отмечено в [API docs] (https://www.firebase.com/docs/web/libraries/angular/api.html). – Kato

+0

Спасибо @Kato Я обновил свой ответ, чтобы отразить документы. –

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