如何解决Socket.IO - 如何识别用户是管理 UI?
因为验证管理 UI 不起作用,我想跳过对管理 UI 用户的验证
我想在我之前的 Node.JS 应用程序中使用 Socket.IO admin ui 但我正在从中间件验证每个用户的令牌,如果用户被验证我正在调用 next() 。 所以我想知道用户是否是 socket io 以便我可以跳过令牌验证并让他们离开。 这是我验证用户的最小化代码
io.use(function (client,next) {
const idToken = client.handshake.query['idtoken'];
const uidGot = client.handshake.query['uidPersonal'];
if (idToken != null && uidGot != null) {
admin
.auth()
.verifyIdToken(idToken)
.then((decodedToken) => {
const validUser = uidGot === decodedToken.uid
if (validUser) {
next(); // this line is important porque this is saying to go next
} else {
next(new Error("Invalid user"))
}
})
.catch((error) => {
next(new Error("Invalid user"))
});
} else {
next(new Error('Invalid User'));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。