どうも!chuckです。今回はユーザーのモデルにパスワードを追加します。ただし、単なる文字列としてではなく、安全面を考慮したパスワードとして開発していきます。
今回も例のごとくRailsチュートリアルを参考にしていきますヽ(=´▽`=)ノ
パスワードカラムの追加
まずは暗号化に必要なbcrypt-rubyというgemをインストールします。
そしておなじみのbundle install。
これからパスワードのカラムを追加するので、テストにもカラムの存在を確認する記述を追加。
いざ、カラムの追加!
rails g migration add_password_digest_to_users password_digest:string
を実行します。
生成されたファイルがこちら。
マイグレーションを実行して、テストがパスすることを確認します。
一時パスワードカラムの追加
次に一時パスワードのためのカラムを追加します。
これらはユーザーから入力されたパスワードと確認用パスワードをマッチングさせるためのものです。データベースには登録されず、内容は破棄されます。
2つのカラムが存在すること、及び一致することをテスト。
spec/model/user_spec.rb
そして、has_secure_passwordメソッドを追記。このメソッドのおかげで安全なパスワードが実装されます!
app/models/user.rb
これで現時点でのテストに全て通過しますヽ(=´▽`=)ノ
最後にパスワードの長さだけ指定します。今回は最低限6文字ということで。
こちらが最終的なUser.rbファイルになります。
Railsコンソールから自分のデータを作ってみる!
できよーヽ(=´▽`=)ノ
まとめ的な
というわけで、Railsチュートリアルに沿ってパスワードと認証機能を追加しました!次回はユーザ登録機能を実装したいと思います(`・ω・´)ゞ