devise_saml_authenticatable 1.6.0 → 1.6.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3ca38cfe51cdf71fc8a264de868fc285bfa413307aa4798e097fbf88e85020d
|
4
|
+
data.tar.gz: 2371ef1371e29547b4eb9681066fa43f0b6d39236b7df8676236bf13678e2d01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 872bfb214a00504735d9183d169e4119ebb9c6ae3129de729be642f39c4675b57040bb1c9d46899e73d534aa82d7ac9291c425109c10eaeb290831480e7976ab
|
7
|
+
data.tar.gz: 3269ef293937aef443afa9a325acc0addf027c3ad7421865a9ebe1554d7215461767ffe9e34cd4cc2bf8edbae831e7e342dd3c47245d57209d8ddd820a128212
|
@@ -20,8 +20,9 @@ class Devise::SamlSessionsController < Devise::SessionsController
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def metadata
|
23
|
+
idp_entity_id = params[:idp_entity_id]
|
23
24
|
meta = OneLogin::RubySaml::Metadata.new
|
24
|
-
render :xml => meta.generate(saml_config)
|
25
|
+
render :xml => meta.generate(saml_config(idp_entity_id))
|
25
26
|
end
|
26
27
|
|
27
28
|
def idp_sign_out
|
@@ -33,7 +33,7 @@ module Devise
|
|
33
33
|
key = Devise.saml_default_user_key
|
34
34
|
decorated_response = ::SamlAuthenticatable::SamlResponse.new(
|
35
35
|
saml_response,
|
36
|
-
|
36
|
+
attribute_map(saml_response),
|
37
37
|
)
|
38
38
|
if Devise.saml_use_subject
|
39
39
|
auth_value = saml_response.name_id
|
@@ -66,7 +66,12 @@ module Devise
|
|
66
66
|
end
|
67
67
|
|
68
68
|
if Devise.saml_update_user || (resource.new_record? && Devise.saml_create_user)
|
69
|
-
|
69
|
+
begin
|
70
|
+
Devise.saml_update_resource_hook.call(resource, decorated_response, auth_value)
|
71
|
+
rescue
|
72
|
+
logger.info("User(#{auth_value}) failed to create or update.")
|
73
|
+
return nil
|
74
|
+
end
|
70
75
|
end
|
71
76
|
|
72
77
|
resource
|
@@ -80,6 +85,10 @@ module Devise
|
|
80
85
|
def find_for_shibb_authentication(conditions)
|
81
86
|
find_for_authentication(conditions)
|
82
87
|
end
|
88
|
+
|
89
|
+
def attribute_map(saml_response = nil)
|
90
|
+
Devise.saml_attribute_map_resolver.new(saml_response).attribute_map
|
91
|
+
end
|
83
92
|
end
|
84
93
|
end
|
85
94
|
end
|
@@ -104,6 +104,12 @@ describe Devise::Models::SamlAuthenticatable do
|
|
104
104
|
expect(model.name).to eq('A User')
|
105
105
|
expect(model.saved).to be(true)
|
106
106
|
end
|
107
|
+
|
108
|
+
it "returns nil if it fails to create a user" do
|
109
|
+
expect(Model).to receive(:where).with(email: 'user@example.com').and_return([])
|
110
|
+
expect(Devise).to receive(:saml_update_resource_hook).and_raise(StandardError.new)
|
111
|
+
expect(Model.authenticate_with_saml(response, nil)).to be_nil
|
112
|
+
end
|
107
113
|
end
|
108
114
|
|
109
115
|
context "when configured to update a user and the user is found" do
|
@@ -119,6 +125,13 @@ describe Devise::Models::SamlAuthenticatable do
|
|
119
125
|
expect(model.name).to eq('A User')
|
120
126
|
expect(model.saved).to be(true)
|
121
127
|
end
|
128
|
+
|
129
|
+
it "returns nil if it fails to update a user" do
|
130
|
+
user = Model.new(new_record: false)
|
131
|
+
expect(Model).to receive(:where).with(email: 'user@example.com').and_return([user])
|
132
|
+
expect(Devise).to receive(:saml_update_resource_hook).and_raise(StandardError.new)
|
133
|
+
expect(Model.authenticate_with_saml(response, nil)).to be_nil
|
134
|
+
end
|
122
135
|
end
|
123
136
|
end
|
124
137
|
|
@@ -372,4 +385,10 @@ describe Devise::Models::SamlAuthenticatable do
|
|
372
385
|
allow(Devise).to receive(:saml_resource_locator).and_return(block)
|
373
386
|
end
|
374
387
|
end
|
388
|
+
|
389
|
+
describe "::attribute_map" do
|
390
|
+
it "returns the attribute map" do
|
391
|
+
expect(Model.attribute_map).to eq(attributemap)
|
392
|
+
end
|
393
|
+
end
|
375
394
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise_saml_authenticatable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josef Sauter
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: devise
|
@@ -95,7 +95,7 @@ homepage: ''
|
|
95
95
|
licenses:
|
96
96
|
- MIT
|
97
97
|
metadata: {}
|
98
|
-
post_install_message:
|
98
|
+
post_install_message:
|
99
99
|
rdoc_options: []
|
100
100
|
require_paths:
|
101
101
|
- lib
|
@@ -110,8 +110,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
112
|
requirements: []
|
113
|
-
rubygems_version: 3.0.
|
114
|
-
signing_key:
|
113
|
+
rubygems_version: 3.0.3
|
114
|
+
signing_key:
|
115
115
|
specification_version: 4
|
116
116
|
summary: SAML Authentication for devise
|
117
117
|
test_files:
|