使用有什么区别 admin.auth().verifyIdToken()
和 admin.auth().createSessionCookie() + admin.auth().verifySessionCookie()
用于身份验证目的,哪个应该我在我的 Express REST API 中使用?
此外,verifyIdToken 本身是否已经创建了一个每次调用时都可以刷新的 session ?验证 session cookie 是否也是如此?
请您参考如下方法:
您创建 session 以在客户端设备上获取 token 并在服务器/云上使用验证 token 。
我从当前用户那里获取 token ,然后将其发送到 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;