سلام وقت همه بخیر
من برای ارتباط سوکت بین فرانت ( ReactJs) و بک اند ( Laravel 8 ) پروژم دارم از Laravel-echo و Laravel-echo-server و socket.io-client استفاده میکنم
یه مشکلی هست اونم اینکه من از guard خود لاراول برای احراز کاربر در api استفاده نمی کنم ( بنا به دلایلی توکن سازی و احراز سفارشی نوشته شده است ) و تو احراز کانال های خصوصی به مشکل برخوردم چون endpoint احراز، نیاز به guard خود لاراول داره و میخوام توسط middleware خودم که کار احراز رو انجام میده عملیات احراز کانال های خصوصی رو انجام بدم
تو داکیومنت خود لاراول، تو بخش Customizing The Authorization Request نوشته شده که با authorizer تو laravel-echo میشه اینکارو انجام داد
ولی وقتی ازش استفاده میکنم هیچ اتفاقی نمیوفته و برای احراز منتظر جواب authEndPoint میمونه
window.Echo = new Echo({
broadcaster: 'socket.io',
host: 'http://ip:6001',
transports: ['websocket'],
authorizer: (channel, options) => {
return {
authorize: (socketId, callback) => {
axios.post('/custom/auth', {
socket_id: socketId,
channel_name: channel.name
})
.then(response => {
callback(false, response.data);
})
.catch(error => {
callback(true, error);
});
}
};
},
});
خیلی وقته تو گیتهاب استک و لاراکست دنبال راه حل میگردم ولی متاسفانه چیزی پیدا نمیکنم، کسی راه حلی برای این قضیه داره ؟
به Mohsen Rahimpoor کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟