els_token 1.2.3 → 1.2.4
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/README.md +19 -7
- data/lib/els_token.rb +10 -9
- data/lib/els_token/version.rb +1 -1
- data/test/dummy/log/development.log +23 -63
- data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- metadata +12 -22
- data/test/dummy/tmp/cache/assets/C62/0A0/sprockets%2F59e2e0f72731b9584015e80b76777d29 +0 -0
- data/test/dummy/tmp/cache/assets/CA6/630/sprockets%2F8af9c2296e34c4f01a58747a12c07130 +0 -0
- data/test/dummy/tmp/cache/assets/D49/140/sprockets%2Fd128539bcb29d65cf7e28a43f8563a2f +0 -0
- data/test/dummy/tmp/cache/assets/D9C/D00/sprockets%2F66ef3d03a58dfcc273e3453b04fdf81b +0 -0
- data/test/dummy/tmp/cache/assets/DF9/7C0/sprockets%2F6ebe9d7bfd3beeba96d6131aa526e700 +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e17f41d2021c1d75772963f50018bb61572a376
|
4
|
+
data.tar.gz: 82853fe3b8d0df47a4f2e5286b31c1c3a97ecdba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e034516abf617a6639ba6ec071b779dabcf0cce95a506d1c5010e734e5f251d44d0dc29d17fa9fb65458fc6e3e394249b88c8552064c55926f996c94edfa657
|
7
|
+
data.tar.gz: bae9cca795d1c1d07d97443a4e726c4d6177f478c63e9d7922e577dd8dc28b28cbbaf369d26e3dfc9c4c42f665431f2c23885dd7029b2f56b29f2f8930477d22
|
data/README.md
CHANGED
@@ -2,14 +2,31 @@
|
|
2
2
|
|
3
3
|
A simple library for interfacing with forgeRock OpenAM REST Interface.
|
4
4
|
|
5
|
-
Still pretty much in development but kind of workable.
|
6
5
|
|
7
6
|
## Usage
|
8
7
|
|
9
|
-
|
8
|
+
ElsToken can be mixed into a class/module and/or used directly.
|
9
|
+
|
10
|
+
|
11
|
+
__authenticate, validate and extract__
|
12
|
+
|
13
|
+
# The ELS end point
|
14
|
+
opts = {'uri' => 'https://els-sso.corp.aol.com/opensso/identity'}
|
15
|
+
|
16
|
+
# Generate a token
|
17
|
+
token = ElsToken.authenticate('username','password', opts)
|
18
|
+
|
19
|
+
# Determine if token is valid
|
20
|
+
is_valid = ElsToken.is_token_valid?(token, opts)
|
21
|
+
|
22
|
+
# Retrieve an Identity Object (includes group membership, etc)
|
23
|
+
ad_user = ElsToken.get_identity(token, opts)
|
10
24
|
|
11
25
|
## change log
|
12
26
|
|
27
|
+
1.2.3
|
28
|
+
Fixed Ruby 2.0.0 compatibility
|
29
|
+
|
13
30
|
1.2.2
|
14
31
|
Removed Rails logger dependency
|
15
32
|
Added a couple of extra attributes to the ELS Identity Object
|
@@ -26,8 +43,3 @@ include ElsToken into your class or module
|
|
26
43
|
1.0.0
|
27
44
|
Initial release :)
|
28
45
|
|
29
|
-
## TODO
|
30
|
-
With the correct level of priviledge it's possible to perform granular LDAP searches against the OpenAM REST interface.
|
31
|
-
By Default one can only pull identity details for a provided token but it might be nice to search against other attributes.
|
32
|
-
|
33
|
-
Erm some tests might be nice :)
|
data/lib/els_token.rb
CHANGED
@@ -73,7 +73,7 @@ module ElsToken
|
|
73
73
|
def authenticate(username,password,options={})
|
74
74
|
begin
|
75
75
|
response = els_http_request("/authenticate",
|
76
|
-
"uri
|
76
|
+
{"uri"=>"realm=aolcorporate","username"=>"#{username}","password"=>"#{password}"},
|
77
77
|
options)
|
78
78
|
if response.code.eql? "200"
|
79
79
|
# return the token
|
@@ -93,8 +93,8 @@ module ElsToken
|
|
93
93
|
|
94
94
|
# passes a token to els to see if it is still valid
|
95
95
|
def is_token_valid?(token, options={})
|
96
|
-
response = els_http_request("/isTokenValid","tokenid
|
97
|
-
if response.code.eql? "200"
|
96
|
+
response = els_http_request("/isTokenValid",{"tokenid"=>"#{token}"},options)
|
97
|
+
if (response.code.eql? "200") && (response.body.chomp.eql? "boolean=true")
|
98
98
|
true
|
99
99
|
else
|
100
100
|
false
|
@@ -112,7 +112,7 @@ module ElsToken
|
|
112
112
|
# in a nice, friendly, object. If you don't like that object
|
113
113
|
# or need the raw data, then use this.
|
114
114
|
def get_raw_token_identity(token,options={})
|
115
|
-
response = els_http_request("/attributes","subjectid
|
115
|
+
response = els_http_request("/attributes",{"subjectid"=>"#{token}"},options)
|
116
116
|
if response.code.eql? "200"
|
117
117
|
response.body
|
118
118
|
else
|
@@ -142,15 +142,15 @@ module ElsToken
|
|
142
142
|
|
143
143
|
private
|
144
144
|
|
145
|
-
def els_http_request(url_base_extension,
|
145
|
+
def els_http_request(url_base_extension, request_body={}, options)
|
146
146
|
options = els_options.dup.merge(options)
|
147
147
|
uri = URI.parse(options['uri'] + url_base_extension)
|
148
|
-
uri.query=query_string
|
149
|
-
http = Net::HTTP.new(uri.host,uri.port)
|
148
|
+
# uri.query=query_string
|
149
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
150
150
|
http.use_ssl = true
|
151
151
|
|
152
152
|
# Use a known certificate if supplied
|
153
|
-
if rootca = options[
|
153
|
+
if rootca = options['cert']
|
154
154
|
if File.exist? rootca
|
155
155
|
http.ca_file = rootca
|
156
156
|
elsif Dir.exist? rootca
|
@@ -164,7 +164,8 @@ module ElsToken
|
|
164
164
|
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
165
165
|
end
|
166
166
|
|
167
|
-
request = Net::HTTP::
|
167
|
+
request = Net::HTTP::Post.new(uri.request_uri)
|
168
|
+
request.set_form_data(request_body)
|
168
169
|
|
169
170
|
http.request(request)
|
170
171
|
end
|
data/lib/els_token/version.rb
CHANGED
@@ -1,90 +1,50 @@
|
|
1
|
-
Connecting to database specified by database.yml
|
2
1
|
|
3
2
|
|
4
|
-
Started GET "/" for 127.0.0.1 at
|
3
|
+
Started GET "/" for 127.0.0.1 at 2015-05-06 16:29:11 -0400
|
5
4
|
Connecting to database specified by database.yml
|
6
5
|
Processing by ElsSessionController#show as HTML
|
6
|
+
no identity in cache. Redirecting
|
7
7
|
user will be returned to /
|
8
|
-
Redirected to http://localhost:
|
8
|
+
Redirected to http://localhost:9292/els_session/new
|
9
9
|
Filter chain halted as :els_identity rendered or redirected
|
10
10
|
Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
|
11
11
|
|
12
12
|
|
13
|
-
Started GET "/els_session/new" for 127.0.0.1 at
|
13
|
+
Started GET "/els_session/new" for 127.0.0.1 at 2015-05-06 16:29:11 -0400
|
14
14
|
Processing by ElsSessionController#new as HTML
|
15
|
-
Rendered els_session/new.html.erb within layouts/application (
|
16
|
-
Compiled application.css (
|
17
|
-
Compiled
|
18
|
-
Completed
|
15
|
+
Rendered els_session/new.html.erb within layouts/application (2.5ms)
|
16
|
+
Compiled application.css (0ms) (pid 81668)
|
17
|
+
Compiled application.js (0ms) (pid 81668)
|
18
|
+
Completed 200 OK in 654ms (Views: 20.0ms | ActiveRecord: 0.0ms)
|
19
|
+
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
3: <head>
|
23
|
-
4: <title>ElsSession</title>
|
24
|
-
5: <%= stylesheet_link_tag "application", :media => "all" %>
|
25
|
-
6: <%= javascript_include_tag "application" %>
|
26
|
-
7: <%= csrf_meta_tags %>
|
27
|
-
8: </head>
|
28
|
-
9: <body>
|
29
|
-
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___3102776676085365165_70273562929120'
|
21
|
+
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2015-05-06 16:29:12 -0400
|
22
|
+
Served asset /application.css - 200 OK (3ms)
|
30
23
|
|
31
24
|
|
32
|
-
|
33
|
-
|
34
|
-
Rendered /Users/neilcuk/.rvm/gems/ruby-1.9.3-p194@gemdev/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (10.0ms)
|
25
|
+
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2015-05-06 16:29:12 -0400
|
26
|
+
Served asset /application.js - 200 OK (1ms)
|
35
27
|
|
36
28
|
|
37
|
-
Started GET "/" for 127.0.0.1 at
|
29
|
+
Started GET "/" for 127.0.0.1 at 2015-05-06 16:35:30 -0400
|
38
30
|
Connecting to database specified by database.yml
|
39
31
|
Processing by ElsSessionController#show as HTML
|
32
|
+
no identity in cache. Redirecting
|
40
33
|
user will be returned to /
|
41
|
-
Redirected to http://localhost:
|
34
|
+
Redirected to http://localhost:9292/els_session/new
|
42
35
|
Filter chain halted as :els_identity rendered or redirected
|
43
36
|
Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
|
44
37
|
|
45
38
|
|
46
|
-
Started GET "/els_session/new" for 127.0.0.1 at
|
39
|
+
Started GET "/els_session/new" for 127.0.0.1 at 2015-05-06 16:35:30 -0400
|
47
40
|
Processing by ElsSessionController#new as HTML
|
48
|
-
Rendered els_session/new.html.erb within layouts/application (
|
49
|
-
Completed
|
50
|
-
|
51
|
-
ActionView::Template::Error (couldn't find file 'jquery'
|
52
|
-
(in /Users/neilcuk/dev/ruby/gems/els_token/test/dummy/app/assets/javascripts/application.js:13)):
|
53
|
-
3: <head>
|
54
|
-
4: <title>ElsSession</title>
|
55
|
-
5: <%= stylesheet_link_tag "application", :media => "all" %>
|
56
|
-
6: <%= javascript_include_tag "application" %>
|
57
|
-
7: <%= csrf_meta_tags %>
|
58
|
-
8: </head>
|
59
|
-
9: <body>
|
60
|
-
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___2865467007981793915_70182484825280'
|
61
|
-
|
62
|
-
|
63
|
-
Rendered /Users/neilcuk/.rvm/gems/ruby-1.9.3-p194@gemdev/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.8ms)
|
64
|
-
Rendered /Users/neilcuk/.rvm/gems/ruby-1.9.3-p194@gemdev/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.1ms)
|
65
|
-
Rendered /Users/neilcuk/.rvm/gems/ruby-1.9.3-p194@gemdev/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (9.0ms)
|
66
|
-
|
67
|
-
|
68
|
-
Started GET "/els_session/new" for 127.0.0.1 at 2012-10-09 18:53:26 +0100
|
69
|
-
Connecting to database specified by database.yml
|
70
|
-
Processing by ElsSessionController#new as HTML
|
71
|
-
Rendered els_session/new.html.erb within layouts/application (4.5ms)
|
72
|
-
Compiled els_session.js (59ms) (pid 31910)
|
73
|
-
Compiled application.js (92ms) (pid 31910)
|
74
|
-
Completed 200 OK in 134ms (Views: 133.1ms | ActiveRecord: 0.0ms)
|
75
|
-
|
76
|
-
|
77
|
-
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2012-10-09 18:53:26 +0100
|
78
|
-
Served asset /application.css - 200 OK (2ms)
|
79
|
-
|
80
|
-
|
81
|
-
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2012-10-09 18:53:26 +0100
|
82
|
-
Served asset /jquery.js - 304 Not Modified (4ms)
|
41
|
+
Rendered els_session/new.html.erb within layouts/application (2.2ms)
|
42
|
+
Completed 200 OK in 200ms (Views: 11.9ms | ActiveRecord: 0.0ms)
|
83
43
|
|
84
44
|
|
85
|
-
Started GET "/assets/
|
86
|
-
Served asset /
|
45
|
+
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2015-05-06 16:35:30 -0400
|
46
|
+
Served asset /application.css - 304 Not Modified (1ms)
|
87
47
|
|
88
48
|
|
89
|
-
Started GET "/assets/application.js?body=1" for 127.0.0.1 at
|
90
|
-
Served asset /application.js -
|
49
|
+
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2015-05-06 16:35:30 -0400
|
50
|
+
Served asset /application.js - 304 Not Modified (16ms)
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: els_token
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Neil Chambers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A simple plugin to assist ELS token validation
|
14
14
|
email:
|
@@ -17,14 +17,18 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
+
- MIT-LICENSE
|
21
|
+
- README.md
|
22
|
+
- Rakefile
|
23
|
+
- lib/els_token.rb
|
20
24
|
- lib/els_token/els_identity.rb
|
21
25
|
- lib/els_token/module_inheritable_attributes.rb
|
22
26
|
- lib/els_token/version.rb
|
23
|
-
- lib/els_token.rb
|
24
27
|
- lib/tasks/els_token_tasks.rake
|
25
|
-
-
|
26
|
-
-
|
27
|
-
- README.
|
28
|
+
- test/dummy/Gemfile
|
29
|
+
- test/dummy/Gemfile.lock
|
30
|
+
- test/dummy/README.rdoc
|
31
|
+
- test/dummy/Rakefile
|
28
32
|
- test/dummy/app/assets/javascripts/application.js
|
29
33
|
- test/dummy/app/assets/javascripts/els_session.js.coffee
|
30
34
|
- test/dummy/app/assets/stylesheets/application.css
|
@@ -36,6 +40,7 @@ files:
|
|
36
40
|
- test/dummy/app/views/els_session/new.html.erb
|
37
41
|
- test/dummy/app/views/els_session/show.html.erb
|
38
42
|
- test/dummy/app/views/layouts/application.html.erb
|
43
|
+
- test/dummy/config.ru
|
39
44
|
- test/dummy/config/application.rb
|
40
45
|
- test/dummy/config/boot.rb
|
41
46
|
- test/dummy/config/database.yml
|
@@ -54,29 +59,19 @@ files:
|
|
54
59
|
- test/dummy/config/initializers/wrap_parameters.rb
|
55
60
|
- test/dummy/config/locales/en.yml
|
56
61
|
- test/dummy/config/routes.rb
|
57
|
-
- test/dummy/config.ru
|
58
62
|
- test/dummy/db/development.sqlite3
|
59
63
|
- test/dummy/db/schema.rb
|
60
|
-
- test/dummy/Gemfile
|
61
|
-
- test/dummy/Gemfile.lock
|
62
64
|
- test/dummy/log/development.log
|
63
65
|
- test/dummy/public/404.html
|
64
66
|
- test/dummy/public/422.html
|
65
67
|
- test/dummy/public/500.html
|
66
68
|
- test/dummy/public/favicon.ico
|
67
|
-
- test/dummy/Rakefile
|
68
|
-
- test/dummy/README.rdoc
|
69
69
|
- test/dummy/script/rails
|
70
|
-
- test/dummy/tmp/cache/assets/C62/0A0/sprockets%2F59e2e0f72731b9584015e80b76777d29
|
71
|
-
- test/dummy/tmp/cache/assets/CA6/630/sprockets%2F8af9c2296e34c4f01a58747a12c07130
|
72
70
|
- test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
|
73
71
|
- test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
|
74
|
-
- test/dummy/tmp/cache/assets/D49/140/sprockets%2Fd128539bcb29d65cf7e28a43f8563a2f
|
75
72
|
- test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
|
76
73
|
- test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
|
77
|
-
- test/dummy/tmp/cache/assets/D9C/D00/sprockets%2F66ef3d03a58dfcc273e3453b04fdf81b
|
78
74
|
- test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
|
79
|
-
- test/dummy/tmp/cache/assets/DF9/7C0/sprockets%2F6ebe9d7bfd3beeba96d6131aa526e700
|
80
75
|
- test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
|
81
76
|
- test/test_helper.rb
|
82
77
|
homepage: http://wiki.office.aol.com/wiki/Els_Token
|
@@ -98,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
93
|
version: '0'
|
99
94
|
requirements: []
|
100
95
|
rubyforge_project:
|
101
|
-
rubygems_version: 2.
|
96
|
+
rubygems_version: 2.4.6
|
102
97
|
signing_key:
|
103
98
|
specification_version: 4
|
104
99
|
summary: A simple plugin to assist ELS token validation
|
@@ -145,15 +140,10 @@ test_files:
|
|
145
140
|
- test/dummy/Rakefile
|
146
141
|
- test/dummy/README.rdoc
|
147
142
|
- test/dummy/script/rails
|
148
|
-
- test/dummy/tmp/cache/assets/C62/0A0/sprockets%2F59e2e0f72731b9584015e80b76777d29
|
149
|
-
- test/dummy/tmp/cache/assets/CA6/630/sprockets%2F8af9c2296e34c4f01a58747a12c07130
|
150
143
|
- test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
|
151
144
|
- test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
|
152
|
-
- test/dummy/tmp/cache/assets/D49/140/sprockets%2Fd128539bcb29d65cf7e28a43f8563a2f
|
153
145
|
- test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
|
154
146
|
- test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
|
155
|
-
- test/dummy/tmp/cache/assets/D9C/D00/sprockets%2F66ef3d03a58dfcc273e3453b04fdf81b
|
156
147
|
- test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
|
157
|
-
- test/dummy/tmp/cache/assets/DF9/7C0/sprockets%2F6ebe9d7bfd3beeba96d6131aa526e700
|
158
148
|
- test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
|
159
149
|
- test/test_helper.rb
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|