Fix issue with login not adding details to user database
This commit is contained in:
@@ -8,24 +8,32 @@ const route = function (db) {
|
||||
});
|
||||
router.get('/:uid', function(req, res, next) {
|
||||
const uid = req.params.uid;
|
||||
const userRef = db.ref(`/users/${uid}`);
|
||||
userRef.set({
|
||||
approved: true,
|
||||
});
|
||||
admin.auth().createCustomToken(uid, {
|
||||
approved: true,
|
||||
}).then(function(customToken) {
|
||||
return res.json({
|
||||
success: true,
|
||||
token: customToken,
|
||||
admin.auth().getUser(uid)
|
||||
.then(function() {
|
||||
const userRef = db.ref(`/users/${uid}`);
|
||||
userRef.set({
|
||||
approved: true,
|
||||
});
|
||||
admin.auth().createCustomToken(uid, {
|
||||
approved: true,
|
||||
}).then(function(customToken) {
|
||||
return res.json({
|
||||
success: true,
|
||||
token: customToken,
|
||||
});
|
||||
}).catch(function(err) {
|
||||
console.error('Error creating custom token', err);
|
||||
return res.status(500).json({
|
||||
success: false,
|
||||
error: err,
|
||||
});
|
||||
});
|
||||
}).catch(function(err) {
|
||||
return res.json({
|
||||
success: false,
|
||||
error: err,
|
||||
});
|
||||
});
|
||||
}).catch(function(err) {
|
||||
console.error('Error creating custom token', err);
|
||||
return res.status(500).json({
|
||||
success: false,
|
||||
error: err,
|
||||
});
|
||||
});
|
||||
});
|
||||
return router;
|
||||
}
|
||||
|
||||
@@ -24,31 +24,38 @@ const route = function(db) {
|
||||
});
|
||||
}
|
||||
const valid = password === s.val();
|
||||
const userRef = db.ref(`users/${uid}`)
|
||||
.set({
|
||||
isAdmin: false,
|
||||
isAnonymous: true,
|
||||
approved: valid,
|
||||
});
|
||||
if (valid) {
|
||||
admin.auth().createCustomToken(uid, {
|
||||
approved: true,
|
||||
}).then(function(customToken) {
|
||||
admin.auth().getUser(uid).then(function() {
|
||||
const userRef = db.ref(`users/${uid}`)
|
||||
.set({
|
||||
isAdmin: false,
|
||||
isAnonymous: true,
|
||||
approved: valid,
|
||||
});
|
||||
if (valid) {
|
||||
admin.auth().createCustomToken(uid, {
|
||||
approved: true,
|
||||
}).then(function(customToken) {
|
||||
return res.json({
|
||||
valid: true,
|
||||
token: customToken,
|
||||
});
|
||||
}).catch(function(err) {
|
||||
console.error('Error creating custom token', err);
|
||||
return res.status(500).json({
|
||||
error: 'Internal server error',
|
||||
});
|
||||
});
|
||||
} else {
|
||||
return res.json({
|
||||
valid: true,
|
||||
token: customToken,
|
||||
valid: false,
|
||||
});
|
||||
}).catch(function(err) {
|
||||
console.error('Error creating custom token', err);
|
||||
return res.status(500).json({
|
||||
error: 'Internal server error',
|
||||
});
|
||||
});
|
||||
} else {
|
||||
}
|
||||
}).catch(function(err) {
|
||||
return res.json({
|
||||
valid: false,
|
||||
error: err,
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ class Login extends React.Component {
|
||||
componentWillUpdate(prev, next) {
|
||||
const authProvider = next.authProvider;
|
||||
if (!this.props.user.uid && next.passwordValid && authProvider) {
|
||||
const password = this.state.password;
|
||||
const password = next.password;
|
||||
if (authProvider === 'anonymous') {
|
||||
auth.signInAnonymously().then(res => {
|
||||
this.submitUid(res.uid, password);
|
||||
@@ -48,6 +48,7 @@ class Login extends React.Component {
|
||||
this.form.reset();
|
||||
axios.post('/api/validate', { password }).then((res) => {
|
||||
if (res.data.valid) {
|
||||
console.log(password);
|
||||
this.setState({
|
||||
password,
|
||||
passwordValid: true,
|
||||
@@ -104,6 +105,7 @@ class Login extends React.Component {
|
||||
<form ref={(el) => this.form = el} onSubmit={(e) => this.submitPassword(e)}>
|
||||
<Input type="text" innerRef={(el) => this.password = el} placeholder="Password" />
|
||||
<Button type="submit">Go!</Button>
|
||||
<Button onClick={() => this.setState({ authProvider: null })}>Back</Button>
|
||||
</form>
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user