[英]POST pusher/auth 404 (Not Found)
我正在嘗試在本地 node.js 服務器上使用 Pusher 建立一個私人頻道。 出於某種原因,我無法讓我的身份驗證端點正常運行,並且不斷收到 404 錯誤。
起初我認為這是我如何定義與本地服務器位置相關的端點的問題,但我認為這不是問題。 更有可能的是,我對服務器-客戶端-api 通信的不了解意味着我錯過了一些重要的東西。
我已經查看了 Pusher 上的身份驗證文檔以及我能找到的每個 SO 線程,但無濟於事。
我已經安裝了 Node 並且服務器正在運行,並且 Pusher 識別出建立了連接,我只是在身份驗證中失敗了。
任何幫助都將不勝感激。
這是在 index.html 中單擊按鈕時調用的客戶端 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(未找到)
http://localhost:8080/pusher/auth.js
服務器上不存在此網址。 再次檢查 auth.js 的位置。
來自 Pusher 文檔(鏈接)
authEndpoint(字符串)
您服務器上的端點將返回私有和在線通道所需的身份驗證簽名。 默認為“/pusher/auth”。
因此,您需要在服務器上創建身份驗證端點並在設置 Pusher 實例以進行身份驗證時提供指向它的鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.