socket.io客户端名称空间授权
Node.js似乎有一个诀窍来获取有用的模块,但没有足够的文档或没有文档。 socket.io就是这样一个模块。 我想使用内置的授权function,名称空间,但我不知道如何在客户端工作。 服务器端,他们提供了足够的文档,但除此之外,我不知道。
编辑 :我不想知道如何从客户端获取cookie数据 – 我知道如何做到这一点,而是如何从客户端,通过JavaScript直接传递数据(例如用户名和密码)。
关于使用Socket.IO进行授权有很多不错的文档: https : //github.com/LearnBoost/socket.io/wiki/Authorizing (向下滚动到“命名空间授权”和“客户端如何处理全局授权”)
你想要达到什么目的? 这听起来有点像你试图通过Socket.IO“发布”用户名/密码。 Socket.IOvalidation发生在握手阶段,所以你可以做到以下几点:
-
在通用授权之后“发出”用户名/密码组合(希望你正在使用TLS),并在一个不好的validation后断开用户(相当平庸的方法IMO)
-
请依靠服务器端会话信息进行身份validation。 这可能是您想要的方法,因为您的服务器端handshakeData应该包含您需要确定用户是否被授权的所有内容。 在连接到套接字之前,你应该依靠authentication一个HTTP会话,这样你不会在每次连接到socket.io时都传输一个用户名/密码组合(如果你回退的话可能会很多在XHR)。 有很多关于这方面的文章,但这是一个很好的开始: http : //www.danielbaulig.de/socket-ioexpress/
- SPA(angular度)身份validation与OAuth2提供商的独立域上的API和身份validation服务器; Google,Facebook
- 如何以编程方式login到使用Google身份validation的网站
- 我们如何在node.js中使用Firebase Auth创build用户?
- 当它不应该时,authentication返回“401(未授权)”
- Nodejs / mongodb-检查用户是否具有pipe理员权限(基于令牌的身份validation)
- 如何devise没有SSL支持的API?
- Passport.jsvalidation总是失败
- “错误:非法参数:string,未定义”,并在节点JS中停止服务器
- Nodejs我需要使用Passport吗?