Я новичок в Reactjs.Я пишу страницу для администраторов для создания пользователей, информация о пользователях хранится в пожарном депо, и мне нужно аутентифицировать этого пользователя при аутентификации.В разделе аутентификации я использовал функцию admin.auth () createUser, я не знаю функцию аутентификации, которую я пишу true или false.Когда я удаляю эту функцию аутентификации и использую ее только для сохранения информации о пользователе, она работает.Но я хочу просто сохранить информацию о пользователе и аутентифицировать этого пользователя.
Это мой код
Этот userActions.js
import admin from "./fbAdmin";
export const createUser = (user) => {
return(dispatch, getState, { getFirebase, getFirestore }) => {
const firestore = getFirestore();
admin.auth().createUser(
user.email,
user.password
).then((resp) => {
return firestore.collection('users').doc(resp.user.uid).set({
...user,
})
}).then(() => {
dispatch({ type: "CREATE_USER", user });
}).catch(err => {
dispatch({ type: 'CREATE_USER_ERROR', err });
});
}
}
Этот fbAdmin.js
var admin = require('firebase-admin');
var config = { ...}
admin.initializeApp(config);
export default admin;
и createUser.js
import React, { Component } from 'react'
import { createUser } from './../../store/actions/userActions';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom'
class CreateUser extends Component {
state = {
email: "",
password: "",
userFirstName: "",
userLastName: "",
channel: "",
}
handleChange = (e) => {
this.setState({
[e.target.id]: e.target.value
})
}
handleSubmit = (e) => {
e.preventDefault();
this.props.createUser(this.state);
this.props.history.push('/');
}
render() {
const { auth } = this.props;
if(!auth.uid) return <Redirect to='/signin' />
return (
form....
)
}
}
const mapStateToProps = (state) => {
return {
auth: state.firebase.auth
}
}
const mapDispatchToProps = (dispatch) => {
return {
createUser: (user) => dispatch(createUser(user))
}
}
export default connect(mapStateToProps, mapDispatchToProps)(CreateUser);