openstreetmap-website/app/controllers/api_controller.rb
2019-03-20 14:39:17 +01:00

30 lines
972 B
Ruby

class ApiController < ApplicationController
skip_before_action :verify_authenticity_token
def authorize(realm = "Web Password", errormessage = "Couldn't authenticate you")
# make the current_user object from any auth sources we have
setup_user_auth
# handle authenticate pass/fail
unless current_user
# no auth, the user does not exist or the password was wrong
response.headers["WWW-Authenticate"] = "Basic realm=\"#{realm}\""
render :plain => errormessage, :status => :unauthorized
return false
end
end
def deny_access(_exception)
if current_token
set_locale
report_error t("oauth.permissions.missing"), :forbidden
elsif current_user
head :forbidden
else
realm = "Web Password"
errormessage = "Couldn't authenticate you"
response.headers["WWW-Authenticate"] = "Basic realm=\"#{realm}\""
render :plain => errormessage, :status => :unauthorized
end
end
end