Administrateur: do not save api_token in clear text anymore
This commit is contained in:
parent
16566b46c0
commit
88f7e888c3
3 changed files with 7 additions and 14 deletions
|
@ -39,7 +39,7 @@ class Administrateur < ApplicationRecord
|
|||
def renew_api_token
|
||||
api_token = Administrateur.generate_unique_secure_token
|
||||
encrypted_token = BCrypt::Password.create(api_token)
|
||||
update(api_token: api_token, encrypted_token: encrypted_token)
|
||||
update(encrypted_token: encrypted_token)
|
||||
api_token
|
||||
end
|
||||
|
||||
|
|
|
@ -33,21 +33,15 @@ describe Administrateur, type: :model do
|
|||
end
|
||||
|
||||
describe "#renew_api_token" do
|
||||
let(:administrateur) { create(:administrateur) }
|
||||
let!(:administrateur) { create(:administrateur) }
|
||||
let!(:token) { administrateur.renew_api_token }
|
||||
|
||||
before do
|
||||
administrateur.renew_api_token
|
||||
administrateur.reload
|
||||
end
|
||||
|
||||
it { expect(administrateur.api_token).to be_present }
|
||||
it { expect(administrateur.api_token).not_to eq(administrateur.encrypted_token) }
|
||||
it { expect(BCrypt::Password.new(administrateur.encrypted_token)).to eq(administrateur.api_token) }
|
||||
it { expect(BCrypt::Password.new(administrateur.encrypted_token)).to eq(token) }
|
||||
|
||||
context 'when it s called twice' do
|
||||
let!(:previous_token) { administrateur.api_token }
|
||||
let!(:new_token) { administrateur.renew_api_token }
|
||||
|
||||
it { expect(previous_token).not_to eq(administrateur.renew_api_token) }
|
||||
it { expect(new_token).not_to eq(token) }
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'admin/gestionnaires/index.html.haml', type: :view do
|
||||
let(:token) { 'super_token' }
|
||||
let(:admin) { create(:administrateur, api_token: token) }
|
||||
let(:admin) { create(:administrateur) }
|
||||
|
||||
before do
|
||||
assign(:gestionnaires, (smart_listing_create :gestionnaires,
|
||||
|
|
Loading…
Reference in a new issue