我是JS/NodeJ的新手。
我设法通过了Google Firebase的认证
验证Firebase.js:
function checkAuth(req, res, next) {
if (req.header('auth-token')) {
admin.auth().verifyIdToken(req.header('auth-token'))
.then((decodedToken) => {
//return uid
let uid = decodedToken.uid
next()
}).catch((err) => {
console.log(err);
res.status(403).send('Unauthorized')
});
} else {
res.status(403).send('Unauthorized')
}
}
module.exports.checkAuth = checkAuth;
我在下面的其他文件中使用它;
路线.js
const verify_firebase = require('./verifyFirebase').checkAuth;
router.get('/', verify_firebase, (req,res) => {
res.json("verified");
})
“/”路由由verifyFirebase.js中的verify_firebase函数保护。如何从routes.js访问uid变量?因为我需要在安全路由中访问此uid。
2条答案
按热度按时间fwzugrvs1#
我想这可能有用
zhte4eai2#
您可以将
uid
变量设置为req.uid
,并在routes.js
文件中使用它,如下所示:请记住,如果您要使用typescript,您还需要为它定义正确的类型。