cie-es 0.0.1 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1fddb69bc580ee945fdf740e072a06a43f13133bc821e65cd4c16ebde05a8490
4
- data.tar.gz: 1ebb454f25165f5916887b4742eeaf0e8a1c9b823bd2377a8c5b12e70d4ac595
3
+ metadata.gz: aa8ffcd923c77d685ba34780714399f6c8d6e9319e40e2ba6306b4a67ef7bd68
4
+ data.tar.gz: 4ff68734ae1fcc20ead106bea204530ace83c3222fd9832af1cca77af4afb890
5
5
  SHA512:
6
- metadata.gz: 5f6a34790df5ebf8d9d0bf06e71167e34550b2c972cf113c881d92a86dd96bae9b164b15c2891e20ab3a3f0c67a6c8f18906fcec5c8baca0cf287b352e209c0e
7
- data.tar.gz: e352e080c27f29fc4b214d99466ff75d5e38f2d680fad4d60140865084038d89c308e60c44b804abafbddb961a6c4b4017eb6cbd00de9b1521521be028b531e5
6
+ metadata.gz: 21ec147dcf6c26f1538f3938a5b1e8dfc9f016fcc187bb743acd0dfafa3468f022c245a0861ac8ac6313a480e027084675b84ad0193252cca723b3af2b4345eb
7
+ data.tar.gz: 1eff47e58ff23c9a80becc38b23fe00dd28f5b8678fc7b592589b55a0b80fd9078aa9ecf31c857c56dfd57400f885a150b964e642f26a2a449b5e43f24b8bdd9
@@ -2,7 +2,7 @@ $LOAD_PATH.push File.expand_path('../lib', __FILE__)
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'cie-es'
5
- s.version = '0.0.1'
5
+ s.version = '0.0.6'
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Fabiano Pavan"]
@@ -29,24 +29,16 @@ module Cie::Saml
29
29
  # Create AuthnRequest root element using REXML
30
30
  request_doc = Cie::XMLSecurityNew::Document.new
31
31
  request_doc.context[:attribute_quote] = :quote
32
- root = request_doc.add_element "saml2p:AuthnRequest", { "xmlns:saml2p" => "urn:oasis:names:tc:SAML:2.0:protocol",
32
+ root = request_doc.add_element "samlp:AuthnRequest", { "xmlns:samlp" => "urn:oasis:names:tc:SAML:2.0:protocol",
33
33
  "xmlns:saml" => "urn:oasis:names:tc:SAML:2.0:assertion"
34
34
  }
35
35
  root.attributes['ID'] = uuid
36
36
  root.attributes['IssueInstant'] = time
37
37
  root.attributes['Version'] = "2.0"
38
- #root.attributes['ProtocolBinding'] = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
38
+ root.attributes['ProtocolBinding'] = HTTP_POST
39
39
  root.attributes['AttributeConsumingServiceIndex'] = @settings.assertion_consumer_service_index
40
40
  root.attributes['ForceAuthn'] = "true"
41
- #root.attributes['IsPassive'] = "false"
42
- #usato AssertionConsumerServiceURL e ProtocolBinding in alternativa, pag 8 regole tecniche
43
- root.attributes['AssertionConsumerServiceIndex'] = @settings.attribute_consuming_service_index
44
-
45
- #Tolto, utilizzo AssertionConsumerServiceIndex
46
- # # Conditionally defined elements based on settings
47
- # if @settings.assertion_consumer_service_url != nil
48
- # root.attributes["AssertionConsumerServiceURL"] = @settings.assertion_consumer_service_url
49
- # end
41
+ root.attributes["AssertionConsumerServiceURL"] = @settings.assertion_consumer_service_url
50
42
 
51
43
  if @settings.destination_service_url != nil
52
44
  root.attributes["Destination"] = @settings.destination_service_url
@@ -71,9 +63,9 @@ module Cie::Saml
71
63
 
72
64
 
73
65
  if @settings.name_identifier_format != nil
74
- root.add_element "saml2p:NameIDPolicy", {
66
+ root.add_element "samlp:NameIDPolicy", {
75
67
  # Might want to make AllowCreate a setting?
76
- #{}"AllowCreate" => "true",
68
+ "AllowCreate" => "1",
77
69
  "Format" => @settings.name_identifier_format[0]
78
70
  }
79
71
  end
@@ -82,7 +74,7 @@ module Cie::Saml
82
74
  # match required for authentication to succeed. If this is not defined,
83
75
  # the IdP will choose default rules for authentication. (Shibboleth IdP)
84
76
  if @settings.authn_context != nil
85
- requested_context = root.add_element "saml2p:RequestedAuthnContext", {
77
+ requested_context = root.add_element "samlp:RequestedAuthnContext", {
86
78
  "Comparison" => "minimum"
87
79
  }
88
80
  context_class = []
@@ -94,12 +86,12 @@ module Cie::Saml
94
86
  end
95
87
 
96
88
  if @settings.requester_identificator != nil
97
- requester_identificator = root.add_element "saml2p:Scoping", {
89
+ requester_identificator = root.add_element "samlp:Scoping", {
98
90
  "ProxyCount" => "0"
99
91
  }
100
92
  identificators = []
101
93
  @settings.requester_identificator.each_with_index{ |requester, index|
102
- identificators[index] = requester_identificator.add_element "saml2p:RequesterID"
94
+ identificators[index] = requester_identificator.add_element "samlp:RequesterID"
103
95
  identificators[index].text = requester
104
96
  }
105
97
 
@@ -140,23 +132,25 @@ module Cie::Saml
140
132
  metadata = Metadata::new
141
133
  meta_doc = metadata.get_idp_metadata(@settings)
142
134
 
143
- # first try POST
135
+ # first try GET
144
136
  sso_element = REXML::XPath.first(meta_doc,
145
- "/EntityDescriptor/IDPSSODescriptor/SingleSignOnService[@Binding='#{HTTP_POST}']")
137
+ "/EntityDescriptor/IDPSSODescriptor/SingleSignOnService[@Binding='#{HTTP_GET}']")
146
138
  if sso_element
147
139
  @URL = sso_element.attributes["Location"]
148
- #Logging.debug "binding_select: POST to #{@URL}"
149
- return "POST", content_post
140
+ Logging.debug "binding_select: GET from #{@URL}"
141
+ return "GET", content_get
150
142
  end
151
-
152
- # next try GET
143
+
144
+ # then try POST
153
145
  sso_element = REXML::XPath.first(meta_doc,
154
- "/EntityDescriptor/IDPSSODescriptor/SingleSignOnService[@Binding='#{HTTP_GET}']")
146
+ "/EntityDescriptor/IDPSSODescriptor/SingleSignOnService[@Binding='#{HTTP_POST}']")
155
147
  if sso_element
156
148
  @URL = sso_element.attributes["Location"]
157
- Logging.debug "binding_select: GET from #{@URL}"
158
- return "GET", content_get
149
+ #Logging.debug "binding_select: POST to #{@URL}"
150
+ return "POST", content_post
159
151
  end
152
+
153
+
160
154
  # other types we might want to add in the future: SOAP, Artifact
161
155
  end
162
156
 
@@ -38,9 +38,11 @@ module Cie
38
38
  if settings.issuer != nil
39
39
  root.attributes["entityID"] = settings.issuer
40
40
  end
41
- uuid = "_" + UUID.new.generate
42
- self.uuid = uuid
43
- root.attributes["ID"] = uuid
41
+
42
+ #Tolgo attributo ID per avere il metadata uguale e non farlo cambiare continuamente
43
+ # uuid = "_" + UUID.new.generate
44
+ # self.uuid = uuid
45
+ # root.attributes["ID"] = uuid
44
46
 
45
47
  sp_sso = root.add_element "md:SPSSODescriptor", {
46
48
  "protocolSupportEnumeration" => "urn:oasis:names:tc:SAML:2.0:protocol",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cie-es
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fabiano Pavan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-04 00:00:00.000000000 Z
11
+ date: 2020-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: canonix
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  - !ruby/object:Gem::Version
113
113
  version: '0'
114
114
  requirements: []
115
- rubygems_version: 3.0.6
115
+ rubygems_version: 3.0.8
116
116
  signing_key:
117
117
  specification_version: 4
118
118
  summary: SAML Ruby Toolkit Cie