Commit a95fc75
Changed files (3)
app
controllers
app/controllers/concerns/saml_respondable.rb
@@ -0,0 +1,15 @@
+module SamlRespondable
+ extend ActiveSupport::Concern
+
+ def saml_params
+ params.permit(:SAMLRequest, :SAMLResponse, :SAMLEncoding, :SigAlg, :Signature, :RelayState)
+ end
+
+ def raw_params
+ if request.post?
+ saml_params
+ else
+ Hash[request.query_string.split("&").map { |x| x.split("=", 2) }].symbolize_keys
+ end
+ end
+end
app/controllers/application_controller.rb
@@ -1,4 +1,5 @@
class ApplicationController < ActionController::Base
+ include SamlRespondable
protect_from_forgery with: :exception
def render_error(status, model: nil)
app/controllers/sessions_controller.rb
@@ -50,22 +50,10 @@ class SessionsController < ApplicationController
params.require(:user).permit(:email, :password)
end
- def saml_params
- params.permit(:SAMLRequest, :SAMLResponse, :SAMLEncoding, :SigAlg, :Signature, :RelayState)
- end
-
def idp
Idp.default(request)
end
- def raw_params
- if request.post?
- saml_params
- else
- Hash[request.query_string.split("&").map { |x| x.split("=", 2) }].symbolize_keys
- end
- end
-
def post_back(saml_request, user)
relay_state = session[:saml][:params][:RelayState]
@url, @saml_params = saml_request.response_for(user, binding: :http_post, relay_state: relay_state) do |builder|