Skip to content

Commit 3736861

Browse files
committed
Merge pull request SAML-Toolkits#256 from levelboy/separate_create_xml_from_signing
Separated the create_authentication_xml_doc in two methods
2 parents b86345c + 5dbc6c3 commit 3736861

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

lib/onelogin/ruby-saml/authrequest.rb

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,11 @@ def create_params(settings, params={})
8787
# @return [String] The SAMLRequest String.
8888
#
8989
def create_authentication_xml_doc(settings)
90+
document = create_xml_document(settings)
91+
sign_document(document, settings)
92+
end
93+
94+
def create_xml_document(settings)
9095
time = Time.now.utc.strftime("%Y-%m-%dT%H:%M:%SZ")
9196

9297
request_doc = XMLSecurity::Document.new
@@ -141,14 +146,18 @@ def create_authentication_xml_doc(settings)
141146
end
142147
end
143148

149+
request_doc
150+
end
151+
152+
def sign_document(document, settings)
144153
# embed signature
145154
if settings.security[:authn_requests_signed] && settings.private_key && settings.certificate && settings.security[:embed_sign]
146155
private_key = settings.get_sp_key
147156
cert = settings.get_sp_cert
148-
request_doc.sign_document(private_key, cert, settings.security[:signature_method], settings.security[:digest_method])
157+
document.sign_document(private_key, cert, settings.security[:signature_method], settings.security[:digest_method])
149158
end
150159

151-
request_doc
160+
document
152161
end
153162

154163
end

0 commit comments

Comments
 (0)