Files
railsgoat/app/controllers/sessions_controller.rb
T
Joseph Mastey 6e0a0a8312 feat(cops): clean rubocop run
1. ignoring one file because it's an intentional vuln
2. made a few small semantic changes, but verified that they're equivalent.
2017-12-06 17:14:25 -06:00

39 lines
1015 B
Ruby
Executable File

# frozen_string_literal: true
class SessionsController < ApplicationController
skip_before_action :has_info
skip_before_action :authenticated, only: [:new, :create]
def new
@url = params[:url]
redirect_to home_dashboard_index_path if current_user
end
def create
path = params[:url].present? ? params[:url] : home_dashboard_index_path
begin
# Normalize the email address, why not
user = User.authenticate(params[:email].to_s.downcase, params[:password])
rescue RuntimeError => e
# don't do ANYTHING
end
if user
if params[:remember_me]
cookies.permanent[:auth_token] = user.auth_token if User.where(user_id: user.user_id).exists?
else
session[:user_id] = user.user_id if User.where(user_id: user.user_id).exists?
end
redirect_to path
else
flash[:error] = e.message
render "sessions/new"
end
end
def destroy
cookies.delete(:auth_token)
reset_session
redirect_to root_path
end
end