小编Elt*_*yer的帖子

laravel-echo-server 404尝试进行身份验证时

我正在设置一个laravel-echo-server,当我尝试对私有通道进行身份验证时,我收到错误:客户端无法通过身份验证,获得HTTP状态404.

授权公共渠道有效.

//channels.php

Broadcast::channel('private-test', function($user) {
return true;
});
Run Code Online (Sandbox Code Playgroud)

//用于向私有频道进行身份验证的前端脚本

window.Echo.private('private-test')
.listen('TestMessage', (e) => {
    app.updateChat(e);
});
Run Code Online (Sandbox Code Playgroud)

//laravel-echo-server.json

{
"authHost": "basic.test",
"authEndpoint": "/broadcasting/auth",
"clients": [],
"database": "redis",
"databaseConfig": {
    "redis": {},
    "sqlite": {
        "databasePath": "/database/laravel-echo-server.sqlite"
    }
},
"devMode": false,
"host": null,
"port": "6001",
"protocol": "http",
"socketio": {},
"sslCertPath": "",
"sslKeyPath": "",
"sslCertChainPath": "",
"sslPassphrase": "",
"apiOriginAllow": {
    "allowCors": false,
    "allowOrigin": "",
    "allowMethods": "",
    "allowHeaders": ""
    }
}
Run Code Online (Sandbox Code Playgroud)

//bootstrap.js

window._ = require('lodash');

/**
 * We'll load jQuery and the Bootstrap jQuery …
Run Code Online (Sandbox Code Playgroud)

php echo socket.io laravel

2
推荐指数
1
解决办法
2122
查看次数

Laravel在中间件中获取{id}参数

问题:我无法在中间件中找到{id}参数.我的中间件需要获取{id}参数,以验证Auth :: user()是否是指定组的所有者.

请求示例:groups/admin/open/4 - >将打开第4组.

是)我有的:

路线:

Route::post('groups/admin/open/{id}', 'GroupController@opengroup')->middleware(['auth','owner']);
Run Code Online (Sandbox Code Playgroud)

我的中间件('所有者')仍然是空的.

我尝试了什么:1.在函数中添加$ id参数(就像在控制器中一样),如下所示:

public function handle($request, /* Added -> */ $id, Closure $next)
{

    dd(Input::get('id'));

    return $next($request);
}
Run Code Online (Sandbox Code Playgroud)

这会返回一个错误:

Argument 3 passed to App\Http\Middleware\RedirectIfNotOwner::handle() must be an instance of Closure, none given
Run Code Online (Sandbox Code Playgroud)

最后,$ id的不同位置会导致错误:

Missing argument 3 for App\Http\Middleware\RedirectIfNotOwner::handle()
Run Code Online (Sandbox Code Playgroud)

我试过的2:我想过要改变我的网址

请求示例:groups/admin/open?groupparam = 4

并使用

Input::get('groupparam');
Run Code Online (Sandbox Code Playgroud)

但这迫使我改变我的控制器等.这仍然是一个选择.

问的理由:此外我相信Laravel也有能力在中间件中检索{id} params,非常漂亮.我只是不知道如何.

你能帮助我吗?

谢谢,

Eltyer

php middleware url-parameters laravel laravel-5

1
推荐指数
1
解决办法
1661
查看次数

标签 统计

laravel ×2

php ×2

echo ×1

laravel-5 ×1

middleware ×1

socket.io ×1

url-parameters ×1