Mohsen Rahimpoor
2 سال پیش توسط Mohsen Rahimpoor مطرح شد
0 پاسخ

احراز سفارشی کانال های خصوصی در laravel و laravel-echo

سلام وقت همه بخیر
من برای ارتباط سوکت بین فرانت ( 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 کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام