Commit 087791c

mo <mo@mokhan.ca>
2017-11-16 21:23:10
use new binding api for serializing the request.
1 parent 89c12ee
Changed files (1)
airport
app
airport/app/controllers/sessions_controller.rb
@@ -3,22 +3,21 @@ class SessionsController < ApplicationController
   skip_before_action :authenticate!
 
   def new
+    builder = Saml::Kit::AuthenticationRequest::Builder.new
     @relay_state = JSON.generate(redirect_to: '/')
     # HTTP Redirect
     # * URI
     # * SigAlg
     # * Signature
     # * RelayState
-    request_builder = Saml::Kit::AuthenticationRequest::Builder.new(sign: false)
-    request_builder.destination = idp_metadata.single_sign_on_service_for(binding: :http_redirect)
-    @redirect_uri = Saml::Kit::UrlBuilder.new.build(request_builder.build, relay_state: @relay_state)
+    redirect_binding = idp_metadata.single_sign_on_service_for(binding: :http_redirect)
+    @redirect_uri, _ = redirect_binding.serialize(builder, relay_state: @relay_state)
 
     # HTTP POST
     # * URI
     # * SAMLRequest/SAMLResponse
-    request_builder = Saml::Kit::AuthenticationRequest::Builder.new(sign: true)
-    request_builder.destination = @post_uri = idp_metadata.single_sign_on_service_for(binding: :post)
-    @saml_request = request_builder.build.serialize
+    post_binding = idp_metadata.single_sign_on_service_for(binding: :post)
+    @post_uri, @saml_request = post_binding.serialize(builder, relay_state: @relay_state)
   end
 
   def create