mirror of
https://github.com/ClaytonWWilson/CS307-Team24.git
synced 2025-12-16 10:18:48 +00:00
28 lines
881 B
JavaScript
28 lines
881 B
JavaScript
const { admin, db } = require('./admin');
|
|
|
|
module.exports = (req, res, next) => {
|
|
let idToken;
|
|
if (req.headers.authorization) {
|
|
idToken = req.headers.authorization;
|
|
} else {
|
|
console.error('No token found');
|
|
return res.status(403).json({ error: 'Unauthorized'});
|
|
}
|
|
|
|
admin.auth().verifyIdToken(idToken)
|
|
.then((decodedToken) => {
|
|
req.user = decodedToken;
|
|
return db.collection('users').where('userId', '==', req.user.uid)
|
|
.limit(1)
|
|
.get();
|
|
})
|
|
.then((data) => {
|
|
req.user.handle = data.docs[0].data().handle;
|
|
req.user.imageUrl = data.docs[0].data().imageUrl;
|
|
return next();
|
|
})
|
|
.catch((err) => {
|
|
console.error('Error while verifying token ', err);
|
|
return res.status(403).json(err);
|
|
});
|
|
}; |