nuxt laravel-echo 使用身份验证方案在登录时建立连接

问题描述

我的 nuxt.config.js 中有这个

buildModules: [
    // Doc: https://github.com/nuxt-community/eslint-module
    '@nuxtjs/eslint-module',// Doc: https://github.com/nuxt-community/nuxt-tailwindcss
    '@nuxtjs/tailwindcss','@nuxtjs/laravel-echo',// Doc: https://github.com/nuxt-community/dotenv-module
    ['@nuxtjs/dotenv'],],

和构建模块之外

echo: {
    authModule: true,connectOnLogin: true,disconnectOnlogout: true,broadcaster: 'pusher',key: process.env.PUSHER_KEY,authEndpoint: process.env.soCKET_HOST + '/broadcasting/auth',cluster: 'eu',plugins: ['~/plugins/echo.js'],},

和身份验证方案,如

auth: {
    redirect: {
        login: '/login',logout: '/login',callback: false,home: false,strategies: {
        myScheme: {
            _scheme: '~/schemes/myScheme',endpoints: {
                login: {
                    url: process.env.API_URL + '/login-end-oint',method: 'post',propertyName: 'access_token',logout: {
                    url: process.env.API_URL + '/logout',method: 'delete',user: {
                    url:
                        process.env.API_URL +
                        '/user/profile',method: 'get',propertyName: 'data',

和我在插件中的 echo.js

export default function ({ $echo,app }) {

    if (
        app.$auth &&
        app.$auth.$state.hasOwnProperty('user') &&
        app.$auth.$state.user &&
        app.$auth.$state.user.hasOwnProperty('id')
    ) {
    const id= app.$auth.$state.user.id
    $echo
        .private('my-notifications.' + id)
        .listen('.TestEvent',(e) => {
            console.log('event triggered')
            console.log(e.entity)
        })
    }
}

所以这里的问题是,当我登录时,这不会自动连接到该频道,并且仅在我在浏览器中进行刷新时才起作用。

所以基本上在我登录时没有发生授权。

任何提示,我该怎么做?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)