Commit 7071c9e
Changed files (3)
app
app/controllers/sessions_controller.rb
@@ -21,8 +21,9 @@ class SessionsController < ApplicationController
def destroy
user = User.find_by(uuid: @saml_request.name_id)
- @saml_response = @saml_request.response_for(user)
- @relay_state = params[:RelayState]
+
+ saml_binding = binding_for(request)
+ @url, @saml_params = saml_binding.serialize(@saml_request.response_for(user), relay_state: params[:RelayState])
reset_session
render layout: "spinner"
end
app/models/idp.rb
@@ -22,7 +22,7 @@ class Idp
builder.attributes << :email
builder.attributes << :created_at
builder.build
- end
+ end
end
end
end
app/views/sessions/destroy.html.erb
@@ -1,8 +1,8 @@
<h1>Logging Out of IDP</h1>
-<%= form_tag(@saml_response.destination, style: "position: absolute; left: -10000px; top: -10000px;") do %>
- <%= hidden_field_tag("SAMLResponse", @saml_response.serialize) %>
- <%= hidden_field_tag("RelayState", @relay_state) %>
- <%= submit_tag "Submit" %>
+<%= form_tag(@url, style: "position: absolute; left: -10000px; top: -10000px;") do %>
+ <%= @saml_params.each do |(key, value)| %>
+ <%= hidden_field_tag key, value %>
+ <% end %>
<% end %>
<%= javascript_tag do %>