devise-remote-user 0.4.0 → 0.4.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 +4 -4
- data/Gemfile +3 -1
- data/README.md +6 -1
- data/lib/devise_remote_user/manager.rb +9 -8
- data/lib/devise_remote_user/model.rb +3 -5
- data/lib/devise_remote_user/version.rb +1 -1
- data/spec/spec_helper.rb +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d130e55069c15e3ae651fbd092c6a18a05c158a4
|
4
|
+
data.tar.gz: 9d611dc308392e070c1c787afba128a75744efd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 63fd339cc6677a7163a6f29a64e7034b0100ad6a4a118a3bc8fd258570ba2c6da0db9c137758ea8441843ce20caea13e2804baaddf1752b4a7d5a85857835c17
|
7
|
+
data.tar.gz: 53575355c94a924900b5c706f8aa294cdc2fdf93575eb2865c60ccc44c757232472cc4d995b2aafbf4a1b3de7de0bdc5f409d20375bc2144b22d447cde71dcfa
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -3,6 +3,11 @@ devise-remote-user
|
|
3
3
|
|
4
4
|
A devise extension for remote user authentication.
|
5
5
|
|
6
|
+
[](http://badge.fury.io/rb/devise-remote-user)
|
7
|
+
[](https://travis-ci.org/duke-libraries/devise-remote-user)
|
8
|
+
[](https://coveralls.io/r/duke-libraries/devise-remote-user?branch=master)
|
9
|
+
[](https://codeclimate.com/github/duke-libraries/devise-remote-user)
|
10
|
+
|
6
11
|
## Installation
|
7
12
|
|
8
13
|
Add to Gemfile:
|
@@ -24,7 +29,7 @@ Sorry, there are no generators yet, so ...
|
|
24
29
|
|
25
30
|
Configuration options:
|
26
31
|
|
27
|
-
- `
|
32
|
+
- `env_key` - String (default: `'REMOTE_USER'`). Request environment key for the remote user id.
|
28
33
|
- `attribute_map` - Hash (default: `{}`). Map of User model attributes to request environment keys for updating the local user when auto-creation is enabled.
|
29
34
|
- `auto_create` - Boolean (default: `false`). Whether to auto-create a local user from the remote user attributes. Note: Also requires adding the Warden callbacks as shown below.
|
30
35
|
- `auto_update` - Boolean (default: `false`). Whether to auto-update authenticated user attributes from remote user attributes.
|
@@ -1,14 +1,15 @@
|
|
1
1
|
module DeviseRemoteUser
|
2
2
|
|
3
3
|
#
|
4
|
-
# The Manager class is responsible for connecting the appliation's User
|
4
|
+
# The Manager class is responsible for connecting the appliation's User
|
5
5
|
# class with remote user information in the request environment.
|
6
6
|
#
|
7
7
|
class Manager
|
8
8
|
|
9
|
-
attr_reader :env
|
10
|
-
|
11
|
-
def initialize(env)
|
9
|
+
attr_reader :klass, :env
|
10
|
+
|
11
|
+
def initialize(klass, env)
|
12
|
+
@klass = klass
|
12
13
|
@env = env
|
13
14
|
end
|
14
15
|
|
@@ -22,13 +23,13 @@ module DeviseRemoteUser
|
|
22
23
|
end
|
23
24
|
|
24
25
|
def find_user
|
25
|
-
|
26
|
+
klass.where(user_criterion).first
|
26
27
|
end
|
27
28
|
|
28
29
|
def create_user
|
29
30
|
random_password = SecureRandom.hex(16)
|
30
31
|
attrs = user_criterion.merge({password: random_password, password_confirmation: random_password})
|
31
|
-
|
32
|
+
klass.create(attrs)
|
32
33
|
end
|
33
34
|
|
34
35
|
def update_user(user)
|
@@ -36,7 +37,7 @@ module DeviseRemoteUser
|
|
36
37
|
end
|
37
38
|
|
38
39
|
protected
|
39
|
-
|
40
|
+
|
40
41
|
def remote_user_attributes
|
41
42
|
DeviseRemoteUser.attribute_map.inject({}) { |h, (k, v)| h[k] = env[v] if env.has_key?(v); h }
|
42
43
|
end
|
@@ -52,7 +53,7 @@ module DeviseRemoteUser
|
|
52
53
|
def auth_key
|
53
54
|
DeviseRemoteUser.auth_key || Devise.authentication_keys.first
|
54
55
|
end
|
55
|
-
|
56
|
+
|
56
57
|
end
|
57
58
|
|
58
59
|
end
|
@@ -5,13 +5,11 @@ module Devise::Models
|
|
5
5
|
module RemoteUserAuthenticatable
|
6
6
|
extend ActiveSupport::Concern
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
manager = DeviseRemoteUser::Manager.new(env)
|
8
|
+
included do
|
9
|
+
def self.find_for_remote_user_authentication(env)
|
10
|
+
manager = DeviseRemoteUser::Manager.new(self, env)
|
12
11
|
manager.find_or_create_user
|
13
12
|
end
|
14
|
-
|
15
13
|
end
|
16
14
|
|
17
15
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise-remote-user
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Chandek-Stark
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|