Я хотел реализовать аутентификацию Firebase через аутентификацию Google. Таким образом, я использовал этот код:
импорт firebase из 'firebase / app'; импорт «пожарная база / пожарное депо»; import 'firebase / auth';
const config = {
apiKey: "REDACTED",
authDomain: "crwn-33842.firebaseapp.com",
databaseURL: "https://crwn-33842.firebaseio.com",
projectId: "crwn-33842",
storageBucket: "crwn-33842.appspot.com",
messagingSenderId: "479080549871",
appId: "1:479080549871:web:1b08546056e621651eba1a"
}
firebase.initializeApp(config);
export const auth = firebase.auth();
export const firestore = firebase.firestore();
const provider = new firebase.auth.GoogleAuthProvider();
provider.setCustomParameters({ prompt:'select_account' })
export const signInGoogle = () => auth.signInWithPopup();
export default firebase; Also have this component code:
import React, { Component } from 'react';
import FormInput from './../form-input.component/form-input.component';
import CustomButton from './../CustomButton/customButton.component';
import { signInGoogle } from './../../firebase/firebase.utils';
class SignIn extends Component {
state = {
login:'',
password: '',
}
handleChange = event =>{
const {name, value} = event.target;
this.setState({ [name]: value });
}
handleSubmit = event =>{
event.preventDefault();
this.setState({ login:'', password:'' })
}
render() {
return (
<div>
<form onSubmit={this.handleSubmit}>
<FormInput
handleChange={this.handleChange}
value={this.state.login}
name='login'
label='Login'
required
/>
<FormInput
handleChange={this.handleChange}
value={this.state.password}
name='password'
label='Password'
required
/>
<CustomButton type='submit' label='Sign In'/>
<CustomButton onClick={signInGoogle} label='Sign In with Google'/>
</form>
</div>
);
}
}
export default SignIn;
Итак, когда я нажимаю
<CustomButton onClick={signInGoogle} label='Sign In with Google'/>
, я получаю [! [введите описание изображения здесь] [1]] [1]
[1]: https://i.stack.imgur.com/EeGr7.png