Private Channel

usei uma aplicação que eu tenho em vue e consegui fazer envair notificação public channel para usuários diferentes, já ajuda para o que eu quero não precisa realmente se privado, para usuários autenticados via API não consegui, a mensagem é que não consegue autenticar.
Olá, Altenir!
Tudo bem?
Compartilhe comigo por favor, os detalhes do projeto, parte do código ou integral. Preciso de mais detalhes para conseguir te ajudar.
Como está a autenticação da API? O que usou?

Tudo bem Carlos
Pois é, eu tinha colocado aqui todo o passo a passo completo que eu fiz, mas agora que vi que não salvou.
Eu consegui fazer autenticar, umas das coisas que falta era colocar o middleware na rota do BroadcastServiceProvider.php, aí ficou autenticando mas não envia notificação.
vou responder por parte porque não esta aceitando enviar tudo
BroadcastServiceProvider.php
PostCreated.php

continuação...
PostCreated.php
channels.php

continuação...
Index.vue

Posta o código no GitHub, porque fica mais fácil visualizar, e também ver versões dos packages e etc.

https://github.com/altenir/company

Show, compartilhe comigo um print dos logs do laravel-echo-server quando o evento do private channel é disparado.

https://imgur.com/a/m7lOHET

segue outro print, veja que está autenticando, isso sgnifica que no vue está correto e que está se concatando com o server, certo?
e também rodando os events, o usuário logado é id 11, mas não recebe a notificação
https://imgur.com/xXSoCm9

aqui deixei só um pra melhorar a visualização
https://imgur.com/31pmOnk

aqui mostro que sem autenticação está normal
https://imgur.com/a/i08QtKv

Obrigado pelos prints.
O problema está no nome do channel, aqui vc deixou:
'laravel_database_post-created'
Mas, se olhar esse print: https://imgur.com/31pmOnk
O nome do channel final ficou: private-App.Models.Security.User.{id_usuario_aqui}
--
É possível "forçar" o nome do evento:
https://laravel.com/docs/10.x/broadcasting#broadcast-name

Não entendi. tentei /broadcasting#broadcast-name mas não funcionou
Os nomes são esses, é são os nomes que são usados no vue, os únicos que funcionam são os que não precisam de autenticação, que são post-created e user-...
já App.Models.User. AUTENTICA COMO NO PRINT MAS NÃO ENVIA NOTIFICAÇÃO, como se ele está autenticado e está disparando o evento, eu já tentei de diversas formas, até mudando o nome, tentei muitas coisas, mas não deu certo

se lá no client VUE eu colocar esse prefixo private- na frente do nome do canal App.Models.User. ele para de autenticar, já no não autenticado não tem problema colocar o prefixo
[2024-01-03T01:47:30.674Z] - Preparing authentication request to: http://192.168.100.38:3333
[2024-01-03T01:47:30.675Z] - Sending auth request to: http://192.168.100.38:3333/broadcasting/auth
[2024-01-03T01:47:30.884Z] - aFm7WIj64BwxMIs-AAAB authenticated for: private-App.Models.User.11
[2024-01-03T01:47:30.884Z] - aFm7WIj64BwxMIs-AAAB joined channel: private-App.Models.User.11

até agora fiz váris coisa e não resolveu, mas resumindo o que está contecendo é isso aqui, o problema é o prefixo que é adiconado ao nome do canal
autorização em canais privados funciona bem, mas as mensagens continuam sendo enviadas no canal errado, usando o prefixo no nome do canal.

Vou precisar simular aqui, vc está usando o Redis?

Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!