0
0

More than 3 years have passed since last update.

[Rails] has_secure_passwordについて

Posted at

最近使う機会が増えてきたhas_secure_passwordについてまとめてみました。


class User < ApplicationRecord
  .
  .
  .
  has_secure_password
end

具体的なメリット

1.セキュアにハッシュ化したパスワードを、データベース内のpassword_digestという属性に保存できるようになる。
2.2つのペアの仮想的な属性 (passwordとpassword_confirmation) が使えるようになる。また、存在性と値が一致するかどうかのバリデーションも追加される。
3.authenticateメソッドが使えるようになる (引数の文字列がパスワードと一致するとUserオブジェクトを、間違っているとfalseを返すメソッド)。


has_secure_passwordを使うための条件

1.gemに'bcrypt'を追加する。
2.モデルにpassword_digest属性を追加する。


注意点

メリットの2つ目のバリデーションは新規登録の際のみに適用されるので、更新で空文字列であれば登録できてしまう。→追加でpresenceのバリデーションを自分で書く必要がありそうですね。

0
0
0

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
0
0