我已经使用Firebase SDK在网页上实现了google身份验证。
它在chrome,firefox和edge上正常工作,但是在ie11上,我获得了google身份验证页面,但已身份验证的用户信息始终为空。
我认为ie 11支持该功能。 firebase.google.com/support/guides/environments_js-sdk
我通过cdn添加了polyfill并执行了它,但是它不起作用。用户信息仍然为空。 unpkg.com/core-js-bundle@3.0.1/minified.js
为什么它不能仅与ie11一起使用?
*function signInGoogle() {
if (!firebase.auth().currentUser) {
var provider = new firebase.auth.GoogleAuthProvider();
provider.addScope('https://www.googleapis.com/auth/plus.login');
firebase.auth().signInWithRedirect(provider);
} else {
firebase.auth().signOut();
}
}
function initApp() {
firebase.auth().getRedirectResult().then(function (result) {
var user = result.user;
console.log(user); // always null
if (user) {
document.getElementById('createForm').submit();
}
}).catch(function (error) {
var errorCode = error.code;
var errorMessage = error.message;
var email = error.email;
var credential = error.credential;
// [START_EXCLUDE]
if (errorCode === 'auth/account-exists-with-different-credential') {
alert('You have already signed up with a different auth provider for that email.');
} else {
console.error(error);
}
});
}*
答案 0 :(得分:1)
为了减小SDK的大小,Firebase不再提供某些旧版浏览器所需的Polyfils。这是6.x版本中的更改之一。
请查看https://firebase.google.com/support/guides/environments_js-sdk如何根据需要手动enable Polyfills。