私のアプリをプライベートチャンネルのプッシャーに接続しようとしています。
しかし、次のエラーが表示されます。
pusher.js?b3eb:593 POST http:// localhost:8000/broadcasting/auth 404(見つかりません)
エラーの原因と解決方法を教えてください。
コメントを外した場合はconfig/app.phpを見てください
App\Providers\BroadcastServiceProvider::class,
Config/app.phpには名前は同じですが名前空間が異なる2つのサービスプロバイダーがあります
Illuminate\Broadcasting\BroadcastServiceProvider::class,
App\Providers\BroadcastServiceProvider::class,
したがって、両方のコメントを外します。それが動作します。
あなたのベースURLが間違っていることを願っています
window.Echo = new Echo({
authEndpoint : 'http://*******/public/broadcasting/auth',
broadcaster: 'pusher',
key: '********',
cluster: '***',
encrypted: true
});
これらの手順を完了する
1) In config/app.php
この行のコメントを外します-
App\Providers\BroadcastServiceProvider::class,
2)上記では機能しませんで、それでもエラーが発生する場合-ログインしていないと確信しています。アカウントにログインして確認するだけです(プライベートブロードキャストのため)。
それはあなたの問題を解決し、あなたは必要に応じて追加の認証パラメータをapp\Providers\BroadcastServiceProvider.php
Broadcast::routes(['middleware' => 'auth:admin']);
ブレードファイルにcsrf_token()がありませんか?
メタタグに追加できます
<meta name="csrf-token" content="{{ csrf_token() }}">
BroadcastServiceProvider.phpを確認し、ブートメソッドにチャンネルルートを含める必要があります。
私自身の場合、私は追加しました
authEndpoint: "../broadcasting/auth",
あなた自身の場合は、おそらく追加する必要があります
authEndpoint: "broadcasting/auth",
それは私のためにそのように働いた。
Routes-> channels.phpで認証チャンネルを作成します
Broadcast::channel('chatroom', function ($user) {
return $user;
});
ドキュメントを参照してください: https://laravel.com/docs/5.4/broadcasting#authorizing-channels
ありがとう