Я проходил аутентификацию с использованием bcrypt и knock gem для моего приложения rails api и заметил, что каждый раз, когда я возвращаю информацию о пользователе, дайджест пароля возвращается также в виде открытого текста в файле журнала.
Вот вывод файла журнала:
↳ app/controllers/v1/registrations_controller.rb:4:in `create'
User Create (0.3ms) INSERT INTO "users" ("email", "first_name", "password_digest", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id" [["email", "nsantiago@example.cosm"], ["first_name", "Norman"], ["password_digest", "$2a$12$am0rzVPRzgRe5eMmQd/USuOrtiM.JMbpwVd.WsD6ep7KbbIdFaVzS"], ["created_at", "2020-02-23 12:29:43.030356"], ["updated_at", "2020-02-23 12:29:43.030356"]]
↳ app/controllers/v1/registrations_controller.rb:4:in `create'
(38.1ms) COMMIT
↳ app/controllers/v1/registrations_controller.rb:4:in `create'
Completed 201 Created in 405ms (Views: 0.2ms | ActiveRecord: 46.1ms | Allocations: 9537)
и вот мой контроллер:
def create
@user = User.new(data)
if @user.save
render json: serialize(@user), status: 201
else
render json: @user.errors, status: 422
end
end
и сериализатор:
class UserSerializer
include FastJsonapi::ObjectSerializer
attributes :id, :email, :full_name
end
Есть ли способ отфильтровать вывод дайджеста пароля в журнале?