Привет, как я могу передать адрес электронной почты и имя пользователя другому компоненту после входа в систему с учетными данными facebook или google

как я могу передать адрес электронной почты и имя пользователя другому компоненту после входа в систему с учетными данными facebook или google .... после входа в систему необходимо передать имя и адрес электронной почты .. есть ли необходимость в дополнительных функциях? Есть предположения?

import firebase from "firebase";
import StyledFirebaseAuth from "react-firebaseui/StyledFirebaseAuth";

firebase.initializeApp({
  apiKey: "dgshfjgkhlklgfhfjgjhgkhlfrfjgiE",
  authDomain: "fir-auth-6797445.firebaseapp.com"
})

class SocialLogin extends Component {
  state = { isSignedIn: false }

  uiConfig = {
    signInFlow: "popup",
    signInOptions: [
      firebase.auth.GoogleAuthProvider.PROVIDER_ID,
      firebase.auth.FacebookAuthProvider.PROVIDER_ID
       ],
    callbacks: {
      signInSuccess: () => false
    }
  };

  componentDidMount = () => {
    firebase.auth().onAuthStateChanged(user => {
      this.setState({ isSignedIn: !!user })

    })
  }

  render() {


    return (

      <div className="App">
        {this.state.isSignedIn ? (
            this.props.OnRouteChange('home')

            )
         : (
          <StyledFirebaseAuth
            uiConfig={this.uiConfig}
            firebaseAuth={firebase.auth()}
          />
        )}
      </div>
    )
  }
}

export default SocialLogin

`<StyledFirebaseAuth uiConfig = {this.uiConfig} firebaseAuth = {firebase.auth ()} />` так же, как вы передали реквизиты здесь, импортируйте компонент, вам нужны реквизиты

pageNotfoUnd 26.10.2018 09:11
0
1
35
1

Ответы 1

Вам не нужно передавать эти данные другому компоненту. С помощью Firebase вы можете напрямую обращаться к объекту currentUser и его свойствам в любых компонентах вашего приложения.

const user = firebase.auth().currentUser;

if (user != null) {
  user.providerData.forEach(function (profile) {
    console.log("Sign-in provider: " + profile.providerId);
    console.log("  Provider-specific UID: " + profile.uid);
    console.log("  Name: " + profile.displayName);
    console.log("  Email: " + profile.email);
    console.log("  Photo URL: " + profile.photoURL);
  });
}

Ссылка: https://firebase.google.com/docs/auth/web/manage-users?hl=es-419#get_a_users_provider-specific_profile_information

Другие вопросы по теме