LoginSignup
8
9

More than 5 years have passed since last update.

LaravelでAuthを使ったサイトのパスワードを忘れた場合、人類はどのように対応すれば良いのか

Last updated at Posted at 2018-08-24

Laravelでよくお世話になるAuth。php artisan make:authと叩くだけで必要なものがほぼ全部生成されるので便利ですよね。

しかし、開発環境でユーザーのパスワードをド忘れした場合どのようにしたら良いのでしょうか。

tinkerを起動する

作業用ディレクトリ上でphp artisan tinkerを叩く。


$ php artisan tinker

(2018/10/29 追記) モデルを使って直接書き換える手段をコメント欄にていただきました。(Thx! @hokutoasari) 圧倒的に簡単ですね。

もしメールアドレスがわかっている場合はwhereでメールアドレスを使えばOKです。

>>> \App\User::where('email','at.mattenn@gmail.com')->update(['password' => \Hash::make('nyan')]);

もう何もかも忘れてしまってどうしようもない場合は下の取り消し線を引いた方法を使ってください。

Hashでパスワードハッシュを作る

(ハッシュは例です)

Psy Shell v0.8.18 (PHP 7.2.6 — cli) by Justin Hileman
>>> \Hash::make('nyaaaaaaaan');
==> "$3y$10$HnhrbrvsxZe6409rOgOiA37.xv7BU1LdUpJNntKH0TOCOC0A.fOXkKBfIMK"

データベースに突っ込む

どこのご家庭にもあるHeidiSQLやSequel Proを使ってデータベース内のテーブルに突っ込む。デフォルトはusersテーブルです。

注意

このパスワードハッシュは本番環境では使うことができません。なぜなら入力されたパスワードは.envAPP_KEYと共にハッシュ化されるので、本番用と開発用ではハッシュも異なるからです。
もし本番環境でも同じパスワードハッシュが使えた場合、それはそれで問題なので別のAPP_KEYを設定しましょう。

8
9
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9