Commit 029c062
Changed files (3)
app
controllers
views
sessions
app/controllers/sessions_controller.rb
@@ -20,6 +20,10 @@ class SessionsController < ApplicationController
end
def destroy
+ user = User.find_by(uuid: @saml_request.name_id)
+ @saml_response = @saml_request.response_for(user)
+ @relay_state = params[:RelayState]
+ reset_session
render layout: "spinner"
end
app/views/sessions/create.html.erb
@@ -1,4 +1,4 @@
-<%= form_tag(@saml_response.acs_url, style: "position: absolute; left: -10000px; top: -10000px;") do %>
+<%= 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" %>
app/views/sessions/destroy.html.erb
@@ -1,1 +1,12 @@
<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" %>
+<% end %>
+
+<%= javascript_tag do %>
+ window.onload= function () {
+ document.forms[0].submit();
+ };
+<% end %>