当提供商是Yahoo时,Polymerfire(Polymer2.x)firebase-auth Web组件不会在signInWithRedirect(provider)的用户对象中填充电子邮件ID。
在成功的oAuth上,我确实从firebase中获得了uid和displayName,但没有收到电子邮件。在我的用例中,我需要电子邮件。请为任何缺少权限或代码段的帮助提供帮助,这些权限或代码段将填充yahoo的电子邮件ID。对于所有其他提供商,polymerfire给我提供了uid,displayName和电子邮件。
在该应用程序的yahoo开发人员网络中,我以只读方式添加了API权限。
API权限
联系人 阅读-在用户许可下,您可以阅读其联系人信息。 个人资料(社交目录) 阅读公开-在用户的许可下,您可以阅读其个人资料信息,该信息被标记为公开或与Connections共享。
这是PWA中的登录代码:
yahooSignIn() {
var self = this.$.query;
console.log('inside login-page yahooLogin()');
var provider = new firebase.auth.OAuthProvider('yahoo.com');
provider.addScope('sdct-r');
return this.$.auth.signInWithRedirect(provider).then(function (result) {
console.log('result' + JSON.stringify(result));
});
}