Я использую следующий код для аутентификации пользователя Firebase, который входит в систему с учетной записью Microsoft:
signInMicrosoft = () => {
var provider = new firebase.auth.OAuthProvider('microsoft.com');
provider.addScope('openid');
provider.addScope('email');
firebase
.auth()
.signInWithPopup(provider)
.then(
function(result) {
console.log('result', result)
var token = result.credential.accessToken;
var user = result.user;
var isNewUser = result.additionalUserInfo.isNewUser;
//window.location.href = "/";
}.bind(this)
)
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
this.setState({
loginError: true
});
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
// ...
});
}
Однако, когда я пытаюсь получить доступ к электронной почте пользователя с помощью следующего кода:
firebase.auth().onAuthStateChanged(user => {
console.log('user', user)
});
Запись user.email имеет значение null.Как я могу включить Firebase для доступа к электронной почте учетной записи Microsoft таким образом, чтобы «user.email» был настроен на электронную почту пользователя?