1
0
mirror of https://github.com/projekteuler/projekteuler.git synced 2026-01-27 02:28:50 +01:00

Use Omniauthable user model with admin role

This commit is contained in:
2019-02-03 18:00:42 +01:00
parent 52c8e3d7d2
commit b0f8bc5090
18 changed files with 167 additions and 39 deletions

View File

@@ -1,3 +1,8 @@
class AdminController < ApplicationController
before_action :authenticate_admin!
before_action :authenticate!
def authenticate!
authenticate_user!
raise SecurityError unless current_user.admin?
end
end

View File

@@ -0,0 +1,14 @@
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
skip_before_action :verify_authenticity_token
def sign_in_with(provider_name)
@user = User.from_omniauth(request.env["omniauth.auth"])
@user.remember_me!
sign_in_and_redirect @user, event: :authentication
set_flash_message(:notice, :success, kind: provider_name) if is_navigational_format?
end
def developer
sign_in_with "Developer"
end
end