1

我正在尝试从 React Native 订阅 Pusher 频道,但是,我收到 401 错误。

我已经读到这可能是服务器时间设置错误,但已确保这是正确的。该连接使用 Laravel Echo 完美运行,并且当我在博览会上对其进行测试时。

我唯一略有不同的是我的时区是欧洲/伦敦,目前比 UTC 早一个小时。当我去 Pusher 调试控制台时,所有时间都是 UTC。

如果有人有任何想法,这是我的代码:

PusherInit(){
    Pusher.logToConsole = true;
    let chat = 'private-chat.' + this.state.chat_id;
    var pusher = new Pusher('...........', {
      authEndpoint: 'https://snippie.co.uk/api/pusher-auth',
        auth: {
            headers: {
                'Accept': 'application/json',
                'Authorization': this.state.token
            }
        },
      cluster: 'eu',
      encrypted: true
    });

    const channel = pusher.subscribe(chat);

    channel.bind('Message_Received',
        function(data) {
            console.log(data);
        }
    );

    channel.bind('pusher:subscription_error', function(status) {
        console.log (status);
        if(status == 408 || status == 503){
          // retry?
        }
      });
  }
4

1 回答 1

0

尝试将标题更改为:

headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer ' + this.state.token
}

或者

pusher.config.auth.headers.authorization = 'Bearer ' + this.state.token;
于 2020-07-31T19:48:18.403 回答