Firebase Auth +自己的Api

err*_*ode 5 authentication rest firebase firebase-authentication

是否可以仅使用firebase auth,然后使用自己的数据库创建自己的api?

因此,我编写了一个使用Firebase令牌进行身份验证的REST API。

谢谢!

Joe*_*yss 5

这取决于您将用于后端API的技术。有一个Firebase Admin SDK,针对Java,Python和Node开发人员,但是我认为您要寻找的功能仅在Node SDK中可用(尽管我认为有解决方法)。

这种工作方式是,用户在客户端登录后,他们可以请求令牌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')});
}
Run Code Online (Sandbox Code Playgroud)