Passing bearer token in WebSockets, Angular


I want to get notifications from the backend using sockets and to get these notifications you have to be authenticated. To mean you have to pass token with the sockets to get notifications from the back end.
Here is the code i wrote:

    const headers = {
      Authorization: "bearer " + this.authService.getToken()
    };

    const protocol = window.location.protocol === 'https:' ? 'wss://' : 'ws://';
    const endpoint = protocol +'localhost:8000/channel/on/notification/';
    
    const socket = new WebSocket(endpoint, ['access_token',this.authService.getToken()]);

    socket.onopen = function (e) {
      console.error('WebSockets connection created.');
    };

    socket.onmessage = function (e) {
      const data = JSON.parse(e.data);
      console.log(data)
    };

    socket.onclose = function (e) {
      console.log('Chat socket error ===>>', e)
    };

  }

I still keep getting errors. Any help?

Source: JavaSript – Stack Overflow

November 29, 2021
Category : News
Tags: angular | angularjs | javascript | sockets | websocket

Leave a Reply

Your email address will not be published. Required fields are marked *

Sitemap | Terms | Privacy | Cookies | Advertising

Senior Software Developer

Creator of @LzoMedia I am a backend software developer based in London who likes beautiful code and has an adherence to standards & love's open-source.