是否可以只使用 Firebase Auth,然后创建自己的 API 并使用自己的数据库?
因此,我编写了一个 REST API,该 API 使用 Firebase 令牌进行身份验证。
谢谢!
是否可以只使用 Firebase Auth,然后创建自己的 API 并使用自己的数据库?
因此,我编写了一个 REST API,该 API 使用 Firebase 令牌进行身份验证。
谢谢!
firebase.auth().currentUser.getIdToken()
请求令牌,然后可以将其传递到后端进行验证,以下示例展示了如何使用Node和Restify完成此操作。 const server = restify.createServer({});
server.use(validateJwt);
function validateJwt(req, res, next) {
if(!req.headers.token){
//reject
}
admin.auth().verifyIdToken(req.headers.token).then(decodedToken=>{
console.log(`token for user ${decodedToken.sub} valid`);
admin.auth().getUser(decodedToken.sub).then(user=>{
console.log(`fetched user ${user.email}`);
next();
}).catch(err=>{
res.send(500, 'the user with the ID does not exist in firebase');
})
}).catch(err=>{
console.log(`token validation failed: ${err}`);
res.send(401, 'authentication failed')});
}
我相信你应该能够通过使用Firebase来授权用户,然后仅允许已认证用户安全地访问链接,从而实现此目标。如果这是你的意思,那么这个链接可以指向数据库。我猜你可能已经在这里开始了,但这就是起点 了解Firebase实时数据库规则。