func newConnection() centrifuge.Centrifuge { creds := credentials() wsURL := "ws://localhost:8000/connection/websocket" events := ¢rifuge.EventHandler{ OnPrivateSub: func(c centrifuge.Centrifuge, req *centrifuge.PrivateRequest) (*centrifuge.PrivateSign, error) { // Here we allow everyone to subscribe on private channel. // To reject subscription we could return any error from this func. // In most real application secret key must not be kept on client side // and here must be request to your backend to get channel sign. info := "" sign := auth.GenerateChannelSign("secret", req.ClientID, req.Channel, info) privateSign := ¢rifuge.PrivateSign{Sign: sign, Info: info} return privateSign, nil }, } c := centrifuge.NewCentrifuge(wsURL, creds, events, centrifuge.DefaultConfig) err := c.Connect() if err != nil { log.Fatalln(err) } return c }
func testChannelSign(client ConnID, ch Channel) string { return auth.GenerateChannelSign("secret", string(client), string(ch), "") }