Я пытаюсь управлять сеансами аутентификации firebase точно так же, как документация документация говорит, но когда я запрашиваю через Ajax с узлом "/ loginSession" метода post, Js возвращает мне следующее:
`error: TypeError: admin.auth(...).createSessionCookie is not a function
at app.post (C:\Projectos\Eventos\functions\index.js:48:16)
at Layer.handle [as handle_request] (C:\Projectos\Eventos\functions\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Projectos\Eventos\functions\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Projectos\Eventos\functions\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Projectos\Eventos\functions\node_modules\express\lib\router\layer.js:95:5)
at C:\Projectos\Eventos\functions\node_modules\express\lib\router\index.js:281:22
at Function.process_params (C:\Projectos\Eventos\functions\node_modules\express\lib\router\index.js:335:12)
at next (C:\Projectos\Eventos\functions\node_modules\express\lib\router\index.js:275:10)
at urlencodedParser (C:\Projectos\Eventos\functions\node_modules\body-parser\lib\types\urlencoded.js:82:7)
at Layer.handle [as handle_request] (C:\Projectos\Eventos\functions\node_modules\express\lib\router\layer.js:95:5)`
вот как я управляю запросом
app.post('/loginSession',(req,res)=>{
const idToken = req.body.idToken.toString();
const expiresIn = 60*60*24*5*1000;
admin.auth().createSessionCookie(idToken,{expiresIn}).then((sessionCookie)=>{
const options = {maxAge:expiresIn,httpOnly:true,secure:true};
res.cookie('session',sessionCookie,options);
res.end(JSON.stringify({status:'success'}));
},error=>{
res.status(401).send('error');
});
});
Я использую экспресс, body-parser и firebase Firebase Version 3.18.4 Node версия 8.9.3