我尝试使用firebase Admin SDK验证ID令牌。 我想从客户端向服务器端发送令牌。但是似乎发布得不好。
client.js
firebase.auth().signInWithEmailAndPassword(email, password).then(user => {
firebase.auth().onAuthStateChanged( (user) => {
user.getIdToken().then(function(data) {
var token = data;
document.getElementById('postToken').value = token;↲
}).catch((error)=>{
// Handle Errors here.
});
});
}).catch(function(error) {
// Handle Errors here.
});
login.pug
form(name="sendToken" action="/login" method="post")
span email
input(id="email" type="email" name="email")
span password
input(id="password" type="password" name="password" required)
input(type="hidden" name="token" id="postToken")
input(type="button" onclick="toggleSignIn();" value="login")
router.post('/', function(req, res, next) {
var email = req.body.email;
var password = req.body.password;
var token = req.body.token;
console.log(token)
res.cookie('idToken', token, {maxAge: 60 * 60 * 24 * 1000})
res.redirect('/mypage');
});
这时,我发现没有令牌发送到服务器。
在客户端,似乎已在输入标签的值中设置了令牌,但似乎发布不正确。
如何将令牌发送到服务器?我怀疑按下按钮的时间和功能的时间有问题。