Commit d901478
Changed files (3)
app
controllers
views
errors
app/controllers/application_controller.rb
@@ -1,3 +1,8 @@
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
+
+ def render_http_status(status, item: nil)
+ @item = item
+ render template: "errors/#{status}", status: status
+ end
end
app/controllers/sessions_controller.rb
@@ -39,6 +39,6 @@ class SessionsController < ApplicationController
def validate_saml_request(raw_saml_request = params[:SAMLRequest])
@saml_request = Saml::Kit::Request.decode(raw_saml_request)
- head(:forbidden) unless @saml_request.valid?
+ render_http_status(:forbidden, item: @saml_request) unless @saml_request.valid?
end
end
app/views/errors/forbidden.html.erb
@@ -0,0 +1,14 @@
+<div class="container">
+ <div class="row">
+ <div class="col">
+ <h1>Forbidden</h1>
+ <% if @item %>
+ <ul class="list-unstyled">
+ <% @item.errors.full_messages.each do |message| %>
+ <li><%= message %></li>
+ <% end %>
+ </ul>
+ <% end %>
+ </div>
+ </div>
+</div>