This repository has been archived on 2021-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
greenlight/app/controllers/sessions_controller.rb

51 lines
1.0 KiB
Ruby

# frozen_string_literal: true
class SessionsController < ApplicationController
# GET /users/login
def new
end
# GET /users/logout
def destroy
logout
redirect_to root_path
end
# POST /users/login
def create
user = User.find_by(email: session_params[:email])
if user.&authenticate(session_params[:password])
login(user)
end
end
# POST /launch
def launch
# This will recieve a encoded POST from a launcher that
# contains the provider, and all user information. The
# launcher is what does the authentication, so we know
# that the user is who they say they are. We just need
# to use our secret to decode it and then log them in
# to GreenLight (or sign them up).
# User.from_launch()
end
# GET/POST /auth/:provider/callback
def omniauth
user = User.from_omniauth(request.env['omniauth.auth'])
login(user)
end
# POST /auth/failure
def fail
redirect_to root_path
end
private
def session_params
params.require(:session).permit(:email, :password)
end
end