Firebase身份验证-REST API NodeJS

时间:2019-01-29 16:57:24

标签: node.js firebase express firebase-authentication

使用之间有什么区别 admin.auth().verifyIdToken()admin.auth().createSessionCookie() + admin.auth().verifySessionCookie()用于身份验证,我应该在Express REST API中使用哪个?

此外,verifyIdToken是否已经创建了一个本身可以在每次调用时刷新的会话?验证会话cookie是否也一样?

1 个答案:

答案 0 :(得分:0)

您创建会话以在客户端设备上获取令牌,并在服务器/云上使用验证令牌。

我从当前用户那里获取令牌,然后将其发送到Firebase云功能端点进行验证。

端点

import * as admin from 'firebase-admin'

const DEPLOYED = false;

admin.initializeApp()

const ValidateToken = (request: any, response: any) => {

    const params = {
        a: request.body.token, // Client Validation
    }

    const ValidateToken = admin.auth().verifyIdToken(params.a).catch((error) => { throw { Message:error }});

    return Promise.all([ValidateToken]).then((res: any) => {
        return DEPLOYED ? res : response.status(200).json(res);
    }).catch(error => {
        return DEPLOYED ? error : response.status(400).json(error);
    });
}

export default ValidateToken;