mirror of
https://github.com/wahyd4/libr-2.git
synced 2026-08-09 05:15:53 +10:00
#10 Add god token to filter some request
This commit is contained in:
@@ -2,7 +2,7 @@ class Api::V1::SessionsController < Devise::SessionsController
|
||||
skip_before_action :verify_authenticity_token
|
||||
after_action :clear_session
|
||||
|
||||
before_action :callback, only: [:map_callback_info]
|
||||
before_action :check_god_token, only: [:callback]
|
||||
|
||||
def create
|
||||
warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#failure")
|
||||
@@ -29,13 +29,16 @@ class Api::V1::SessionsController < Devise::SessionsController
|
||||
|
||||
private
|
||||
|
||||
def app_auth uid, provider, access_token
|
||||
def app_auth uid, provider, access_token
|
||||
identity = Identity.find_or_create_by(uid: uid, provider: provider)
|
||||
user = identity.user
|
||||
if user
|
||||
user
|
||||
else
|
||||
User.create_user_from_oauth(uid, provider, nil, nil, nil)
|
||||
user = User.create_user_from_oauth(uid, provider, nil, nil, nil)
|
||||
identity.user = user
|
||||
identity.save!
|
||||
user
|
||||
end
|
||||
end
|
||||
|
||||
@@ -43,8 +46,9 @@ class Api::V1::SessionsController < Devise::SessionsController
|
||||
session.clear
|
||||
end
|
||||
|
||||
def map_callback_info
|
||||
|
||||
def check_god_token
|
||||
god_token = request.headers["Authorization"].try(:split, ' ').try(:last)
|
||||
return render json: {message: 'You are fake!'}, status: 401 if god_token != 'love_libr'
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user