推/authentication404

我正在尝试在本地node.js服务器上使用Pusherbuild立专用通道。 出于某种原因,我不能让我的authterminal玩好,我不断收到404错误。

起初,我认为这是一个问题,我如何定义我的端点相对于本地服务器的位置,但我不认为这是问题。 更有可能的是,我对server-client-api通信的不满意味着我错过了一些大的东西。

我已经浏览了推送器上的authentication文档 ,以及我可以find的每个SO线程,但无济于事。

我已经安装了节点,并且服务器正在运行,并且推送器识别出连接已经build立,我只是在validation失败。

任何帮助都将非常感激。

以下是在index.html点击button时调用的客户端JS:

在client.js中:

function startGame(){ var nameinput = prompt("Give your game a name","My Game"); if (nameinput !== null) { var initialsinput = prompt("What are your initials?", "MG"); if (initialsinput !== null) { var pusher = new Pusher(key); Pusher.channel_auth_endpoint = 'http://localhost:8080/pusher/auth.js'; var channel = pusher.subscribe("private-"+gamename); joined = 'client-opponent_joined'+gamename; channel.bind('client-opponent_joined'+gamename, function(data) { OnLikeDonkeyKong(data.nameinput,data.initialsinput); }); } else {alert("I need your initials.");} } else {alert ("I need a game name.");} } 

然后,在/pusher/auth.js中:

 var express = require( 'express' ); var Pusher = require( 'pusher' ); var app = express( express.logger() ); app.use( express.bodyParser() ); var pusher = new Pusher( { appId: 'xxx', key: 'xxx', secret: 'xxx' } ); app.post( '/pusher/auth.js', function( req, res ) { var socketId = req.body.socket_id; var channel = req.body.channel_name; var auth = pusher.authenticate( socketId, channel ); res.send( auth ); } ); var port = process.env.PORT || 8080; app.listen( port ); 

最后,这是我得到的错误:

 POST http://localhost:8080/pusher/auth.js 404 (Not Found) 

HTTP://本地主机:8080 /推杆/ auth.js

该url在服务器上不存在。 再次检查auth.js的位置。

从推者文件( 链接 )

authEndpoint(String)

您的服务器上的端点将返回专用和存在通道所需的身份validation签名。 默认为'/ pusher / auth'。

因此,您需要在服务器上创build身份validation端点,并在设置Pusher实例进行身份validation时提供指向它的链接。