Commit 029c062

mo <mo.khan@gmail.com>
2017-11-14 02:35:34
generate logout response.
1 parent 4acdb1d
Changed files (3)
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 %>