[解決した]Laravel 5.2 socialite twitter認証で$this->request->getSession()がnull

Laravel 5.2 socialite twitter認証で$this->request->getSession()がnullを返すのだが、これは環境のせいかなと思って、ローカルでやってたのをhomesteadでも試したけどかわらなかった。

参考にしたのはこちら。Using Twitter Authentication For Login in Laravel 5

ほぼこのリンク先の通りにやってるのだがなんでかわからんのでとりあえず泣いていたのだが、どうやら、Sessionがスタートしないのは、app/Http/routes.phpの記述の仕方がまずかったらしい。コメントで教えていただいたのと、Laravel答えるマンさんに教えていただいた。Laravel 5.2 でセッションがNULLになる時はミドルウェアを疑え | localdisk

具体的には、middlewareグループwebのルーティングの中に書かないと、

Route::group(['middleware' => 'web'], function () {
// この中にルーティングを記述しないと
});

app/Http/Kernel.phpでwebとしてグルーピングの設定がされている、StartSessionもうごかないというオチだった。CSRFもうごかないのね。
\Illuminate\Session\Middleware\StartSession::class,

ちゃんと、route.phpのコメントに書いてあった…。

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| This route group applies the "web" middleware group to every route
| it contains. The "web" middleware group is defined in your HTTP
| kernel and includes session state, CSRF protection, and more.
|
*/

ふええ。
助かりました。

以下、一応でたエラーメッセージ。

広告

“[解決した]Laravel 5.2 socialite twitter認証で$this->request->getSession()がnull” への 2 件のフィードバック

  1. route.phpをみてください。twitter認証用のrouteがwebミドルウェアの中に入っていなければ、それが原因です。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中