簡體   English   中英

POST pusher/auth 404(未找到)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM