googel auth fix
This commit is contained in:
parent
b356103f41
commit
fbe4d78d0c
|
@ -88,18 +88,20 @@ router.post("/tokenIsValid", async (req, res) => {
|
||||||
const token = req.header("x-auth-token");
|
const token = req.header("x-auth-token");
|
||||||
console.log("isvalid : " + token);
|
console.log("isvalid : " + token);
|
||||||
|
|
||||||
if (!token) return res.json({error: message});
|
if (!token) return res.json({error_token: message});
|
||||||
|
console.log("\nistoken : " + token);
|
||||||
|
|
||||||
const verified = jwt.verify(token,process.env.jwtSecret);
|
const verified = jwt.verify(token,process.env.jwtSecret);
|
||||||
|
console.log("\nisverify : " + verified.id);
|
||||||
|
|
||||||
if (!verified) return res.json({error: message});
|
if (!verified) return res.json({error_verified: message});
|
||||||
|
|
||||||
const user = await User.findById(verified.id);
|
const user = await User.findById(verified.id);
|
||||||
if (!user) return res.json({error: message});
|
if (!user) return res.json({error_user: message});
|
||||||
|
|
||||||
return res.json(true);
|
return res.json(true);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).json({ error: err.message });
|
res.status(500).json({ error_catch: err.message });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -128,49 +130,48 @@ router.put("/update", async (req, res) => {
|
||||||
})
|
})
|
||||||
;
|
;
|
||||||
const client = new OAuth2Client(process.env.CLIENT_ID);
|
const client = new OAuth2Client(process.env.CLIENT_ID);
|
||||||
router.post("/googlelogin", async (req,res) => {
|
|
||||||
|
router.post("/googlelogin", async (req, res) => {
|
||||||
const { idToken } = req.body;
|
const { idToken } = req.body;
|
||||||
console.log("token id " + idToken);
|
|
||||||
|
|
||||||
client
|
client
|
||||||
.verifyIdToken({ idToken, audience: process.env.CLIENT_ID })
|
.verifyIdToken({ idToken, audience: process.env.CLIENT_ID })
|
||||||
.then(response => {
|
.then( async (response) => {
|
||||||
|
|
||||||
const { email_verified, name, email } = response.payload;
|
const { email_verified, name, email } = response.payload;
|
||||||
|
console.log("payload name " + name + "\n");
|
||||||
if (email_verified) {
|
if (email_verified) {
|
||||||
User.findOne({ email:email }).exec((err, user) => {
|
const user = await User.findOne({ email: email });
|
||||||
if (user) {
|
if (user) {
|
||||||
const token = jwt.sign({ _id: user._id }, process.env.jwtSecret, );
|
const token = jwt.sign({ id: user._id }, process.env.jwtSecret);
|
||||||
|
if (token) {
|
||||||
return res.json({
|
return res.json({
|
||||||
token,
|
token,
|
||||||
user: user
|
user: user
|
||||||
});
|
});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
let password = email + process.env.jwtSecret;
|
let password = email + process.env.jwtSecret;
|
||||||
user = new User({ username:name, email:email, password:password });
|
newUser = new User({ username:name, email:email, phonenumber:null, password:password, pricing: "free" });
|
||||||
user.save((err, data) => {
|
const savedUser = await newUser.save();
|
||||||
if (err) {
|
if (!savedUser) {
|
||||||
console.log('ERROR GOOGLE LOGIN ON USER SAVE', err);
|
console.log('ERROR GOOGLE LOGIN ON USER SAVE', err);
|
||||||
return res.status(400).json({
|
return res.status(400).json({
|
||||||
error: 'User signup failed with google'
|
error: 'User signup failed with google'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const token = jwt.sign(
|
const token = jwt.sign( { id: savedUser._id }, process.env.jwtSecret);
|
||||||
{ _id: data._id },
|
|
||||||
process.env.jwtSecret
|
|
||||||
);
|
|
||||||
if (token)
|
if (token)
|
||||||
return res.json({
|
return res.json({
|
||||||
token,
|
token,
|
||||||
user: {
|
user: {
|
||||||
id: data._id,
|
id: savedUser._id,
|
||||||
username: data.username,
|
username: savedUser.username,
|
||||||
pricing: data.pricing
|
pricing: data.pricing
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
return res.status(400).json({
|
return res.status(400).json({
|
||||||
error: 'Google login failed. Try again'
|
error: 'Google login failed. Try again'
|
||||||
|
|
Loading…
Reference in New Issue