ログイン機能を実装していて、標準のRememberMe(記憶させておく)機能を使ってみたけれど、動いている様子はない。
動かない。
「Remember me」にチェックを入れても、効かない。
「Remember me」が動作しているかどうかの確認は、ChromeのデベロッパーでApplication→Cookiesのところに remember_web_xxxxが無いと
動作していない。
remember_web_xxxxがあると、「Remember me」が動作している。
ググっても出てこないので、Laravelのプロにお手伝いをして、手入れをしてもらった。
結局は、app/Http/Controllers/Auth/LoginController.php
に
protected function authenticated(Request $request, $user) { $params = $request->all(); if (Auth::attempt(['email' => $params['email'], 'password' => $params['password']])) { if (isset($params['remember-me']) && $params['remember-me'] === 'on') { Auth::attempt(['email' => $params['email'], 'password' => $params['password']], true); } else { Auth::attempt(['email' => $params['email'], 'password' => $params['password']], false); } } }
これを追加したらOK!!!
しっかりと、remember_web_xxxxが出てくることを確認しました。
ちなみに、Auth::attemptの第2引数にtrueをしているので、5年間?は保持されるようなので、セキュリティー強化のために時間を変更するような実装が別途必要かもです。
そこまで実装された方はやり方教えて下さい(^^)
これを先頭に入れておくのもお忘れなく
use Illuminate\Support\Facades\Auth;
あと、$params['remember-me']の中身などはご自身の環境に合わせてくださいね!
ではでは~