如何解决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 举报,一经查实,本站将立刻删除。