LoL-pj / LoL-VC

6 stars 0 forks source link

teams#newで作成したパスワードを編集時に使う #21

Closed rutko closed 4 years ago

rutko commented 4 years ago

内容 現在、編集時のパスワードは照合ではなく変更の意味になっている newした時のパスワードと違っても更新が可能

変更内容 newした時のパスワードと更新時のパスワードが同じであれば更新できるようにする

rutko commented 4 years ago

Modelでパスワードを暗号化してDBに保存する

以下のような判定を入れてあげれば認証確認が出来そう

=> #<Team id: 8, title: "mimiimimiimimiiim", body: "miimiimimimimim", summoner_name: "222cm", skype: "2222", discord: "okayuu", created_at: "2020-05-06 12:19:10", updated_at: "2020-05-06 12:19:10", password_digest: [FILTERED]>
irb(main):015:0> t.password_digest
=> "$2a$12$F2wUtLSVjHpcJVMTwqTMwOKnP9JMJHcEI46Ehl9uDB/z14T.oDPje"
irb(main):016:0> t.authenticate('124')
=> false
rutko commented 4 years ago

binding.pry後に値を確認 docker attach lol-vc_web_1

rutko commented 4 years ago

📝memo

[6] pry(#<TeamsController>)> @team.password_digest
=> "$2a$12$bHXB8l/QkE3L/.plW.7c1e2YbRYdYNVgp5LPKDFgGlBFdw6kRXHPy"
[7] pry(#<TeamsController>)> @team.authenticate('123456')
=> #<Team:0x0000561a0d6eacf8
 id: 9,
 title: "LoLノーマル募集",
 body: "konbanka",
 summoner_name: "222cm",
 skype: "2222",
 discord: "okayuu",
 created_at: Wed, 06 May 2020 16:41:06 UTC +00:00,
 updated_at: Wed, 06 May 2020 16:41:06 UTC +00:00,
 password_digest: [FILTERED]>
[8] pry(#<TeamsController>)> params[:password]
=> nil
[9] pry(#<TeamsController>)> params[:password_digest]
=> nil
[10] pry(#<TeamsController>)> team_params[:password]
=> "123456"
[11] pry(#<TeamsController>)> @team.authenticate(team_params[:password])
=> #<Team:0x0000561a0d6eacf8
 id: 9,
 title: "LoLノーマル募集",
 body: "konbanka",
 summoner_name: "222cm",
 skype: "2222",
 discord: "okayuu",
 created_at: Wed, 06 May 2020 16:41:06 UTC +00:00,
 updated_at: Wed, 06 May 2020 16:41:06 UTC +00:00,
 password_digest: [FILTERED]>