如何解决出现错误:verifyIdToken的第一个参数必须是Firebase ID令牌字符串
我正在通过XMLHttpRequest
方法制作一个POST
,然后尝试让tokenid
在我的node.js
文件中进行验证。但是,当我尝试验证令牌时,我一直遇到错误。我收到一条错误消息:
这是我发出POST
请求的方式:
var xhr = new XMLHttpRequest();
xhr.setRequestHeader(
"Content-Type","application/x-www-form-urlencoded"
);
xhr.onload = function() {
console.log("Signed in as: " + xhr.responseText);
};
xhr.send("idtoken=" + user.getIdToken());
app.post("/tokensignin",(req,res) => {
admin
.auth()
.verifyIdToken(req.body.idtoken)
.then(function(decodedToken) {
let uid = decodedToken.uid;
console.log("uid is " + uid);
})
.catch(function(error) {
console.log(error);
});
});
我尝试使用req.body
和req.body.token
,但是错误仍然存在。当我尝试打印idtoken
时,我得到[Object object]
解决方法
您正在使用名为“ idtoken”的字段名称发送数据:
xhr.send("idtoken=" + user.getIdToken());
但是您正在使用其他名称“令牌”在后端访问它:
.verifyIdToken(req.body.token)
我建议一般进行更多日志记录,以更好地了解双方的工作并调试正在发生的事情。
,记录request.body
对象时会得到什么?您已经安装了nodejs body parser
,对吗?您是否在使用自己的NodeJS服务器(我几乎可以肯定使用)?但是我的问题是为什么不使用Firebase环境?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。