devise_saml_authenticatable 1.6.0 → 1.6.1
Sign up to get free protection for your applications and to get access to all the features.
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:
|