Witam, w mojej aplikacji można się zalogować za pomocą Facebook'a albo Google'a. Jest jednak taki problem, że jeśli konto było tworzone przez Facebook'a to mogę się zalogować tym samym email'em za pomocą Google i w Firebase zmienia się również ikonka przy takim koncie, że jest ono od teraz rodzaju Google. Ale jeśli konto było tworzone przez Google lub zmieniło stan na konto Google w Firebase próba logowania przez Facebook wyrzuca mi błąd, że istnieje już konto na ten adres e-mail...
export const signInGoogle = () =>{
return (dispatch, getState) => {
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().languageCode = 'pl';
firebase.auth().signInWithPopup(provider).then(function(result) {
console.log(result)
dispatch({
type: actions.LOGIN_SUCCESS
})
}).catch(err => {
console.log(err)
dispatch({
type: actions.LOGIN_ERROR,
err
})
})
}
}
export const signInFacebook = () =>{
return (dispatch, getState) => {
var provider = new firebase.auth.FacebookAuthProvider();
provider.addScope('user_hometown');
firebase.auth().languageCode = 'pl_PL';
firebase.auth().signInWithPopup(provider).then(function(result) {
console.log(result)
dispatch({
type: actions.LOGIN_SUCCESS
})
}).catch(err => {
console.log(err)
dispatch({
type: actions.LOGIN_ERROR,
err
})
})
}
}