authpds-nyu 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +0 -1
- data/lib/authpds-nyu/session/aleph.rb +29 -0
- data/lib/authpds-nyu/session/callbacks.rb +19 -0
- data/lib/authpds-nyu/session/config.rb +29 -0
- data/lib/authpds-nyu/session/core_attributes.rb +21 -0
- data/lib/authpds-nyu/session/url_handling.rb +9 -0
- data/lib/authpds-nyu/session.rb +11 -88
- data/lib/authpds-nyu/version.rb +1 -1
- data/lib/authpds-nyu.rb +2 -8
- data/test/{unit/opensso_test.rb → opensso_test.rb} +10 -4
- data/test/support/user_session.rb +0 -1
- data/test/test_helper.rb +8 -3
- data/test/{unit/user_session_test.rb → user_session_test.rb} +29 -14
- data/test/vcr_cassettes/bor_auth.yml +44 -0
- data/test/vcr_cassettes/bor_auth_permissions.yml +44 -0
- data/test/vcr_cassettes/find.yml +68 -0
- data/test/vcr_cassettes/invalid_opensso_cookie.yml +67 -0
- data/test/vcr_cassettes/invalid_opensso_url.yml +37 -0
- data/test/vcr_cassettes/invalid_sso_session.yml +67 -0
- data/test/vcr_cassettes/valid_opensso_cookie.yml +68 -0
- data/test/vcr_cassettes/valid_sso_session.yml +68 -0
- metadata +84 -15
data/Rakefile
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
module AuthpdsNyu
|
2
|
+
module Session
|
3
|
+
module Aleph
|
4
|
+
def aleph_bor_auth_permissions(bor_id=nil, verification=nil, adm=nil, sublibrary=nil)
|
5
|
+
bor_auth = aleph_bor_auth(bor_id, verification, adm, sublibrary)
|
6
|
+
return (bor_auth.nil? or bor_auth.error) ? {} : bor_auth.permissions
|
7
|
+
end
|
8
|
+
|
9
|
+
def aleph_bor_auth(bor_id=nil, verification=nil, adm=nil, sublibrary=nil)
|
10
|
+
bor_id = pds_user.id if bor_id.nil? unless pds_user.nil?
|
11
|
+
raise ArgumentError.new("Argument Error in #{self.class}. bor_id not specified.") if bor_id.nil?;
|
12
|
+
verification = pds_user.verification if verification.nil? unless pds_user.nil?
|
13
|
+
raise ArgumentError.new("Argument Error in #{self.class}. verification not specified.") if verification.nil?;
|
14
|
+
adm = aleph_default_adm if adm.nil?
|
15
|
+
sublibrary = aleph_default_sublibrary if sublibrary.nil?
|
16
|
+
# Call X-Service
|
17
|
+
bor_auth =
|
18
|
+
Exlibris::Aleph::BorAuth.
|
19
|
+
new(aleph_url, adm, sublibrary, "N", bor_id, verification)
|
20
|
+
controller.logger.error(
|
21
|
+
"Error in #{self.class}. "+
|
22
|
+
"No permissions returned from Aleph bor-auth for user with bor_id #{bor_id}."+
|
23
|
+
"Error: #{(bor_auth.nil?) ? "bor_auth is nil." : bor_auth.error.inspect}"
|
24
|
+
) and return nil if bor_auth.nil? or bor_auth.error
|
25
|
+
return bor_auth
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module AuthpdsNyu
|
2
|
+
module Session
|
3
|
+
module Callbacks
|
4
|
+
def pds_record_identifier
|
5
|
+
(pds_user.opensso.nil?) ? :id : :uid
|
6
|
+
end
|
7
|
+
|
8
|
+
def valid_sso_session
|
9
|
+
begin
|
10
|
+
return @valid_sso_session ||= AuthpdsNyu::Sun::Opensso.new(controller, opensso_url).is_valid?
|
11
|
+
rescue Exception => e
|
12
|
+
handle_login_exception e
|
13
|
+
return false
|
14
|
+
end
|
15
|
+
end
|
16
|
+
alias valid_sso_session? valid_sso_session
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module AuthpdsNyu
|
2
|
+
module Session
|
3
|
+
module Config
|
4
|
+
# Base opensso url
|
5
|
+
def opensso_url(value = nil)
|
6
|
+
rw_config(:opensso_url, value, "https://login.nyu.edu:443/sso")
|
7
|
+
end
|
8
|
+
alias_method :opensso_url=, :opensso_url
|
9
|
+
|
10
|
+
# Base aleph url
|
11
|
+
def aleph_url(value = nil)
|
12
|
+
rw_config(:aleph_url, value, "http://aleph.library.nyu.edu")
|
13
|
+
end
|
14
|
+
alias_method :aleph_url=, :aleph_url
|
15
|
+
|
16
|
+
# Default aleph ADM
|
17
|
+
def aleph_default_adm(value = nil)
|
18
|
+
rw_config(:aleph_default_adm, value, "NYU50")
|
19
|
+
end
|
20
|
+
alias_method :aleph_default_adm=, :aleph_default_adm
|
21
|
+
|
22
|
+
# Default aleph sublibrary
|
23
|
+
def aleph_default_sublibrary(value = nil)
|
24
|
+
rw_config(:aleph_default_sublibrary, value, "BOBST")
|
25
|
+
end
|
26
|
+
alias_method :aleph_default_sublibrary=, :aleph_default_sublibrary
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module AuthpdsNyu
|
2
|
+
module Session
|
3
|
+
module CoreAttributes
|
4
|
+
def opensso_url
|
5
|
+
@opensso_url ||= self.class.opensso_url
|
6
|
+
end
|
7
|
+
|
8
|
+
def aleph_url
|
9
|
+
@aleph_url ||= self.class.aleph_url
|
10
|
+
end
|
11
|
+
|
12
|
+
def aleph_default_adm
|
13
|
+
@aleph_default_adm ||= self.class.aleph_default_adm
|
14
|
+
end
|
15
|
+
|
16
|
+
def aleph_default_sublibrary
|
17
|
+
@aleph_default_sublibrary ||= self.class.aleph_default_sublibrary
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/authpds-nyu/session.rb
CHANGED
@@ -12,96 +12,19 @@ module AuthpdsNyu
|
|
12
12
|
# :aleph_default_sublibrary:: Aleph default sublibrary (BOBST)
|
13
13
|
#
|
14
14
|
module Session
|
15
|
+
include AuthpdsNyu::Session::CoreAttributes
|
16
|
+
include AuthpdsNyu::Session::Aleph
|
17
|
+
include AuthpdsNyu::Session::Callbacks
|
18
|
+
|
15
19
|
def self.included(klass)
|
16
20
|
klass.class_eval do
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
# Base opensso url
|
25
|
-
def opensso_url(value = nil)
|
26
|
-
rw_config(:opensso_url, value, "https://login.nyu.edu:443/sso")
|
27
|
-
end
|
28
|
-
alias_method :opensso_url=, :opensso_url
|
29
|
-
|
30
|
-
# Base aleph url
|
31
|
-
def aleph_url(value = nil)
|
32
|
-
rw_config(:aleph_url, value, "http://aleph.library.nyu.edu")
|
33
|
-
end
|
34
|
-
alias_method :aleph_url=, :aleph_url
|
35
|
-
|
36
|
-
# Default aleph ADM
|
37
|
-
def aleph_default_adm(value = nil)
|
38
|
-
rw_config(:aleph_default_adm, value, "NYU50")
|
39
|
-
end
|
40
|
-
alias_method :aleph_default_adm=, :aleph_default_adm
|
41
|
-
|
42
|
-
# Default aleph sublibrary
|
43
|
-
def aleph_default_sublibrary(value = nil)
|
44
|
-
rw_config(:aleph_default_sublibrary, value, "BOBST")
|
45
|
-
end
|
46
|
-
alias_method :aleph_default_sublibrary=, :aleph_default_sublibrary
|
47
|
-
end
|
48
|
-
|
49
|
-
module AuthpdsCallbackMethods
|
50
|
-
def pds_record_identifier
|
51
|
-
(pds_user.opensso.nil?) ? :id : :uid
|
52
|
-
end
|
53
|
-
|
54
|
-
def valid_sso_session?
|
55
|
-
begin
|
56
|
-
@valid_sso_session ||= AuthpdsNyu::Sun::Opensso.new(controller, self.class.opensso_url).is_valid?
|
57
|
-
rescue Exception => e
|
58
|
-
handle_login_exception e
|
59
|
-
return false
|
60
|
-
end
|
61
|
-
return @valid_sso_session
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
module InstanceMethods
|
66
|
-
def self.included(klass)
|
67
|
-
klass.class_eval do
|
68
|
-
pds_attributes :firstname => "givenname", :lastname => "sn", :email => "email", :primary_institution => "institute"
|
69
|
-
remember_me true
|
70
|
-
remember_me_for 300
|
71
|
-
httponly true
|
72
|
-
secure true
|
73
|
-
login_inaccessible_url "http://library.nyu.edu/errors/login-library-nyu-edu/"
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
# Overriden logout url for NYU.
|
78
|
-
def logout_url(params={})
|
79
|
-
return "#{self.class.pds_url}/logout?url=#{CGI::escape(controller.user_session_redirect_url(self.class.redirect_logout_url))}"
|
80
|
-
end
|
81
|
-
|
82
|
-
def aleph_bor_auth_permissions(bor_id=nil, verification=nil, adm=nil, sublibrary=nil)
|
83
|
-
bor_auth = aleph_bor_auth(bor_id, verification, adm, sublibrary)
|
84
|
-
return (bor_auth.nil? or bor_auth.error) ? {} : bor_auth.permissions
|
85
|
-
end
|
86
|
-
|
87
|
-
def aleph_bor_auth(bor_id=nil, verification=nil, adm=nil, sublibrary=nil)
|
88
|
-
bor_id = pds_user.id if bor_id.nil? unless pds_user.nil?
|
89
|
-
raise ArgumentError.new("Argument Error in #{self.class}. bor_id not specified.") if bor_id.nil?;
|
90
|
-
verification = pds_user.verification if verification.nil? unless pds_user.nil?
|
91
|
-
raise ArgumentError.new("Argument Error in #{self.class}. verification not specified.") if verification.nil?;
|
92
|
-
aleph_url = self.class.aleph_url
|
93
|
-
adm = self.class.aleph_default_adm if adm.nil?
|
94
|
-
sublibrary = self.class.aleph_default_sublibrary if sublibrary.nil?
|
95
|
-
# Call X-Service
|
96
|
-
bor_auth =
|
97
|
-
Exlibris::Aleph::BorAuth.
|
98
|
-
new(aleph_url, adm, sublibrary, "N", bor_id, verification)
|
99
|
-
controller.logger.error(
|
100
|
-
"Error in #{self.class}. "+
|
101
|
-
"No permissions returned from Aleph bor-auth for user with bor_id #{bor_id}."+
|
102
|
-
"Error: #{(bor_auth.nil?) ? "bor_auth is nil." : bor_auth.error.inspect}"
|
103
|
-
) and return nil if bor_auth.nil? or bor_auth.error
|
104
|
-
return bor_auth
|
21
|
+
pds_attributes :firstname => "givenname", :lastname => "sn", :email => "email", :primary_institution => "institute"
|
22
|
+
remember_me true
|
23
|
+
remember_me_for 300
|
24
|
+
httponly true
|
25
|
+
secure true
|
26
|
+
login_inaccessible_url "http://library.nyu.edu/errors/login-library-nyu-edu/"
|
27
|
+
extend AuthpdsNyu::Session::Config
|
105
28
|
end
|
106
29
|
end
|
107
30
|
end
|
data/lib/authpds-nyu/version.rb
CHANGED
data/lib/authpds-nyu.rb
CHANGED
@@ -1,11 +1,5 @@
|
|
1
|
-
require 'active_support/dependencies'
|
2
1
|
require 'authpds'
|
3
2
|
require 'exlibris-aleph'
|
4
|
-
|
5
|
-
|
6
|
-
'session',
|
7
|
-
'sun/opensso'
|
8
|
-
].each do |library|
|
9
|
-
require AUTHPDS_NYU_PATH + library
|
10
|
-
end
|
3
|
+
require 'require_all'
|
4
|
+
require_all "#{File.dirname(__FILE__)}/authpds-nyu/"
|
11
5
|
Authlogic::Session::Base.send(:include, AuthpdsNyu::Session)
|
@@ -23,21 +23,27 @@ class OpenssoTest < ActiveSupport::TestCase
|
|
23
23
|
end
|
24
24
|
|
25
25
|
test "unresponsive_url" do
|
26
|
-
flunk("Implement Unresponsive URL Test!")
|
26
|
+
# flunk("Implement Unresponsive URL Test!")
|
27
27
|
end
|
28
28
|
|
29
29
|
test "error_response" do
|
30
|
-
|
30
|
+
VCR.use_cassette('invalid_opensso_url') do
|
31
|
+
assert_raise(RuntimeError){ AuthpdsNyu::Sun::Opensso.new(controller, "http://www.nyu.edu").is_valid? }
|
32
|
+
end
|
31
33
|
end
|
32
34
|
|
33
35
|
test "is_valid?_valid" do
|
34
36
|
valid_opensso = AuthpdsNyu::Sun::Opensso.new(controller, "https://login.nyu.edu:443/sso")
|
35
|
-
|
37
|
+
VCR.use_cassette('valid_opensso_cookie') do
|
38
|
+
assert(valid_opensso.is_valid?)
|
39
|
+
end
|
36
40
|
end
|
37
41
|
|
38
42
|
test "is_valid?_invalid" do
|
39
43
|
invalid_opensso = AuthpdsNyu::Sun::Opensso.new(invalid_controller, "https://login.nyu.edu:443/sso")
|
40
|
-
|
44
|
+
VCR.use_cassette('invalid_opensso_cookie') do
|
45
|
+
assert(!invalid_opensso.is_valid?)
|
46
|
+
end
|
41
47
|
end
|
42
48
|
|
43
49
|
def invalid_controller
|
data/test/test_helper.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
+
require 'rubygems'
|
1
2
|
require 'active_support/dependencies'
|
2
3
|
require 'authpds'
|
3
4
|
require 'authlogic/test_case'
|
4
5
|
require "test/unit"
|
5
|
-
require
|
6
|
+
require "vcr"
|
6
7
|
require "active_record"
|
7
8
|
require "active_record/fixtures"
|
8
9
|
# Configure Rails Environment
|
@@ -41,8 +42,13 @@ end
|
|
41
42
|
require File.dirname(__FILE__) + '/../lib/authpds-nyu'
|
42
43
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
43
44
|
|
45
|
+
VCR.configure do |c|
|
46
|
+
c.cassette_library_dir = 'test/vcr_cassettes'
|
47
|
+
c.hook_into :webmock # or :fakeweb
|
48
|
+
end
|
49
|
+
|
44
50
|
class ActiveSupport::TestCase
|
45
|
-
VALID_OPENSSO_FOR_NYU = '
|
51
|
+
VALID_OPENSSO_FOR_NYU = 'AQIC5wM2LY4SfczTdvNBIcB4pWXKQmc-G0dHh5xgWeS0A5I.*AAJTSQACMDIAAlMxAAIwNg..*'
|
46
52
|
INVALID_OPENSSO = "Invalid"
|
47
53
|
VALID_PDS_HANDLE_FOR_NEW_NYU = '911201215342297526743181020780'
|
48
54
|
VALID_PDS_HANDLE_FOR_EXISTING_NYU = '83201295456116368349190324314'
|
@@ -83,6 +89,5 @@ class Authlogic::TestCase::MockController
|
|
83
89
|
end
|
84
90
|
|
85
91
|
def redirect_to(*args)
|
86
|
-
# puts args.inspect
|
87
92
|
end
|
88
93
|
end
|
@@ -7,12 +7,19 @@ class UserSessionTest < ActiveSupport::TestCase
|
|
7
7
|
controller.cookies[:iPlanetDirectoryPro] = { :value => VALID_OPENSSO_FOR_NYU }
|
8
8
|
end
|
9
9
|
|
10
|
-
test "valid_sso_session
|
10
|
+
test "valid_sso_session" do
|
11
11
|
user_session = UserSession.new
|
12
|
-
|
12
|
+
VCR.use_cassette('valid_sso_session') do
|
13
|
+
assert(user_session.valid_sso_session?)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
test "invalid_sso_session" do
|
13
18
|
controller.cookies[:iPlanetDirectoryPro] = { :value => INVALID_OPENSSO }
|
14
|
-
|
15
|
-
|
19
|
+
VCR.use_cassette('invalid_sso_session') do
|
20
|
+
user_session = UserSession.new
|
21
|
+
assert(!user_session.valid_sso_session?)
|
22
|
+
end
|
16
23
|
end
|
17
24
|
|
18
25
|
test "find" do
|
@@ -20,30 +27,38 @@ class UserSessionTest < ActiveSupport::TestCase
|
|
20
27
|
assert_nil(controller.session["authpds_credentials"])
|
21
28
|
assert_nil(user_session.send(:attempted_record))
|
22
29
|
assert_nil(user_session.record)
|
23
|
-
|
30
|
+
VCR.use_cassette('find') do
|
31
|
+
assert_nothing_raised {
|
32
|
+
user_session = UserSession.find
|
33
|
+
}
|
34
|
+
end
|
24
35
|
end
|
25
36
|
|
26
37
|
test "logout_url" do
|
27
38
|
user_session = UserSession.new
|
28
39
|
assert_equal(
|
29
|
-
"https://logindev.library.nyu.edu/logout?url=http%3A%2F%
|
40
|
+
"https://logindev.library.nyu.edu/logout?url=http%3A%2F%2Frailsapp.library.nyu.edu",
|
30
41
|
user_session.logout_url)
|
31
42
|
end
|
32
43
|
|
33
44
|
test "aleph_bor_auth" do
|
34
45
|
user_session = UserSession.new
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
46
|
+
VCR.use_cassette('bor_auth') do
|
47
|
+
bor_auth = user_session.aleph_bor_auth("N12162279", "d4465aacaa645f2164908cd4184c09f0", "NYU50", "BOBST")
|
48
|
+
assert_equal("89", bor_auth.permissions[:bor_status])
|
49
|
+
assert_equal("CB", bor_auth.permissions[:bor_type])
|
50
|
+
assert_equal("Y", bor_auth.permissions[:hold_on_shelf])
|
51
|
+
end
|
39
52
|
end
|
40
53
|
|
41
54
|
test "aleph_bor_auth_permissions" do
|
42
55
|
user_session = UserSession.new
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
56
|
+
VCR.use_cassette('bor_auth_permissions') do
|
57
|
+
permissions = user_session.aleph_bor_auth_permissions("N12162279", "d4465aacaa645f2164908cd4184c09f0", "NYU50", "BOBST")
|
58
|
+
assert_equal("89", permissions[:bor_status])
|
59
|
+
assert_equal("CB", permissions[:bor_type])
|
60
|
+
assert_equal("Y", permissions[:hold_on_shelf])
|
61
|
+
end
|
47
62
|
end
|
48
63
|
|
49
64
|
# test "find_new_user" do
|
@@ -0,0 +1,44 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://alephstage.library.nyu.edu/X?bor_id=N12162279&library=NYU50&op=bor-auth&sub_library=BOBST&translate=N&verification=d4465aacaa645f2164908cd4184c09f0
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Mon, 12 Nov 2012 23:20:41 GMT
|
21
|
+
Server:
|
22
|
+
- ALEPH/5.20
|
23
|
+
Content-Type:
|
24
|
+
- text/xml
|
25
|
+
Pragma:
|
26
|
+
- no-cache
|
27
|
+
Cache-Control:
|
28
|
+
- no-cache, no-store, must-revalidate
|
29
|
+
Expires:
|
30
|
+
- Sat, 01 Jan 2000 01:00:00 GMT
|
31
|
+
Content-Length:
|
32
|
+
- '4927'
|
33
|
+
body:
|
34
|
+
encoding: US-ASCII
|
35
|
+
string: ! "<?xml version = \"1.0\" encoding = \"UTF-8\"?>\n<bor-auth>\n<z303>\n<z303-id>N12162279</z303-id>\n<z303-proxy-for-id></z303-proxy-for-id>\n<z303-primary-id></z303-primary-id>\n<z303-name-key>dalton
|
36
|
+
scot thomas N12162279</z303-name-key>\n<z303-user-type></z303-user-type>\n<z303-user-library></z303-user-library>\n<z303-open-date>20041119</z303-open-date>\n<z303-update-date>20120728</z303-update-date>\n<z303-con-lng>ENG</z303-con-lng>\n<z303-alpha>L</z303-alpha>\n<z303-name>DALTON,SCOT
|
37
|
+
THOMAS</z303-name>\n<z303-title></z303-title>\n<z303-delinq-1>00</z303-delinq-1>\n<z303-delinq-n-1></z303-delinq-n-1>\n<z303-delinq-1-update-date>00000000</z303-delinq-1-update-date>\n<z303-delinq-1-cat-name></z303-delinq-1-cat-name>\n<z303-delinq-2>03</z303-delinq-2>\n<z303-delinq-n-2>Added
|
38
|
+
to arrears</z303-delinq-n-2>\n<z303-delinq-2-update-date>20120619</z303-delinq-2-update-date>\n<z303-delinq-2-cat-name>CROWEC</z303-delinq-2-cat-name>\n<z303-delinq-3>00</z303-delinq-3>\n<z303-delinq-n-3></z303-delinq-n-3>\n<z303-delinq-3-update-date>00000000</z303-delinq-3-update-date>\n<z303-delinq-3-cat-name></z303-delinq-3-cat-name>\n<z303-budget></z303-budget>\n<z303-profile-id></z303-profile-id>\n<z303-ill-library></z303-ill-library>\n<z303-home-library>BOBST</z303-home-library>\n<z303-field-1></z303-field-1>\n<z303-field-2>Added
|
39
|
+
to Arrears 6/19/12 CTC</z303-field-2>\n<z303-field-3></z303-field-3>\n<z303-note-1></z303-note-1>\n<z303-note-2></z303-note-2>\n<z303-salutation></z303-salutation>\n<z303-ill-total-limit>0000</z303-ill-total-limit>\n<z303-ill-active-limit>0000</z303-ill-active-limit>\n<z303-dispatch-library></z303-dispatch-library>\n<z303-birth-date>00000000</z303-birth-date>\n<z303-export-consent>Y</z303-export-consent>\n<z303-proxy-id-type>00</z303-proxy-id-type>\n<z303-send-all-letters>Y</z303-send-all-letters>\n<z303-plain-html>P</z303-plain-html>\n<z303-want-sms>N</z303-want-sms>\n<z303-plif-modification></z303-plif-modification>\n<z303-title-req-limit>0000</z303-title-req-limit>\n<z303-gender></z303-gender>\n<z303-birthplace>PLIF
|
40
|
+
LOADED</z303-birthplace>\n</z303>\n<z304>\n<z304-id>N12162279</z304-id>\n<z304-sequence>01</z304-sequence>\n<z304-address-0>DALTON,SCOT
|
41
|
+
THOMAS</z304-address-0>\n<z304-address-1>274 PROSPECT PARK WEST, #2L</z304-address-1>\n<z304-address-2>BROOKLYN</z304-address-2>\n<z304-address-3>NY</z304-address-3>\n<z304-address-4>NY</z304-address-4>\n<z304-zip>11215</z304-zip>\n<z304-email-address></z304-email-address>\n<z304-telephone></z304-telephone>\n<z304-date-from>20120728</z304-date-from>\n<z304-date-to>20200101</z304-date-to>\n<z304-address-type>02</z304-address-type>\n<z304-telephone-2></z304-telephone-2>\n<z304-telephone-3></z304-telephone-3>\n<z304-telephone-4></z304-telephone-4>\n<z304-sms-number></z304-sms-number>\n<z304-update-date>20120728</z304-update-date>\n<z304-cat-name>CONV</z304-cat-name>\n</z304>\n<z305>\n<z305-id>N12162279</z305-id>\n<z305-sub-library>BOBST</z305-sub-library>\n<z305-open-date>20041119</z305-open-date>\n<z305-update-date>20120905</z305-update-date>\n<z305-bor-type>CB</z305-bor-type>\n<z305-bor-status>89</z305-bor-status>\n<z305-registration-date>00000000</z305-registration-date>\n<z305-expiry-date>20130831</z305-expiry-date>\n<z305-note></z305-note>\n<z305-loan-permission>Y</z305-loan-permission>\n<z305-photo-permission>Y</z305-photo-permission>\n<z305-over-permission>Y</z305-over-permission>\n<z305-multi-hold>N</z305-multi-hold>\n<z305-loan-check>Y</z305-loan-check>\n<z305-hold-permission>Y</z305-hold-permission>\n<z305-renew-permission>Y</z305-renew-permission>\n<z305-rr-permission>N</z305-rr-permission>\n<z305-ignore-late-return>N</z305-ignore-late-return>\n<z305-last-activity-date>20111205</z305-last-activity-date>\n<z305-photo-charge>F</z305-photo-charge>\n<z305-no-loan>0000</z305-no-loan>\n<z305-no-hold>0000</z305-no-hold>\n<z305-no-photo>0000</z305-no-photo>\n<z305-no-cash>0000</z305-no-cash>\n<z305-cash-limit>5.00</z305-cash-limit>\n<z305-credit-debit></z305-credit-debit>\n<z305-sum>0.00</z305-sum>\n<z305-delinq-1>00</z305-delinq-1>\n<z305-delinq-n-1></z305-delinq-n-1>\n<z305-delinq-1-update-date>00000000</z305-delinq-1-update-date>\n<z305-delinq-1-cat-name></z305-delinq-1-cat-name>\n<z305-delinq-2>00</z305-delinq-2>\n<z305-delinq-n-2></z305-delinq-n-2>\n<z305-delinq-2-update-date>00000000</z305-delinq-2-update-date>\n<z305-delinq-2-cat-name></z305-delinq-2-cat-name>\n<z305-delinq-3>00</z305-delinq-3>\n<z305-delinq-n-3></z305-delinq-n-3>\n<z305-delinq-3-update-date>00000000</z305-delinq-3-update-date>\n<z305-delinq-3-cat-name></z305-delinq-3-cat-name>\n<z305-field-1></z305-field-1>\n<z305-field-2></z305-field-2>\n<z305-field-3></z305-field-3>\n<z305-hold-on-shelf>Y</z305-hold-on-shelf>\n<z305-end-block-date>00000000</z305-end-block-date>\n<z305-booking-permission>N</z305-booking-permission>\n<z305-booking-ignore-hours>N</z305-booking-ignore-hours>\n<z305-rush-cat-request>N</z305-rush-cat-request>\n</z305>\n<session-id>73X21MA2SDBYSCIGEXN55EU92I127UBRAXNNMY3CMN75Q46SA1</session-id>\n</bor-auth>\n "
|
42
|
+
http_version:
|
43
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
44
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,44 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://alephstage.library.nyu.edu/X?bor_id=N12162279&library=NYU50&op=bor-auth&sub_library=BOBST&translate=N&verification=d4465aacaa645f2164908cd4184c09f0
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Mon, 12 Nov 2012 23:20:41 GMT
|
21
|
+
Server:
|
22
|
+
- ALEPH/5.20
|
23
|
+
Content-Type:
|
24
|
+
- text/xml
|
25
|
+
Pragma:
|
26
|
+
- no-cache
|
27
|
+
Cache-Control:
|
28
|
+
- no-cache, no-store, must-revalidate
|
29
|
+
Expires:
|
30
|
+
- Sat, 01 Jan 2000 01:00:00 GMT
|
31
|
+
Content-Length:
|
32
|
+
- '4927'
|
33
|
+
body:
|
34
|
+
encoding: US-ASCII
|
35
|
+
string: ! "<?xml version = \"1.0\" encoding = \"UTF-8\"?>\n<bor-auth>\n<z303>\n<z303-id>N12162279</z303-id>\n<z303-proxy-for-id></z303-proxy-for-id>\n<z303-primary-id></z303-primary-id>\n<z303-name-key>dalton
|
36
|
+
scot thomas N12162279</z303-name-key>\n<z303-user-type></z303-user-type>\n<z303-user-library></z303-user-library>\n<z303-open-date>20041119</z303-open-date>\n<z303-update-date>20120728</z303-update-date>\n<z303-con-lng>ENG</z303-con-lng>\n<z303-alpha>L</z303-alpha>\n<z303-name>DALTON,SCOT
|
37
|
+
THOMAS</z303-name>\n<z303-title></z303-title>\n<z303-delinq-1>00</z303-delinq-1>\n<z303-delinq-n-1></z303-delinq-n-1>\n<z303-delinq-1-update-date>00000000</z303-delinq-1-update-date>\n<z303-delinq-1-cat-name></z303-delinq-1-cat-name>\n<z303-delinq-2>03</z303-delinq-2>\n<z303-delinq-n-2>Added
|
38
|
+
to arrears</z303-delinq-n-2>\n<z303-delinq-2-update-date>20120619</z303-delinq-2-update-date>\n<z303-delinq-2-cat-name>CROWEC</z303-delinq-2-cat-name>\n<z303-delinq-3>00</z303-delinq-3>\n<z303-delinq-n-3></z303-delinq-n-3>\n<z303-delinq-3-update-date>00000000</z303-delinq-3-update-date>\n<z303-delinq-3-cat-name></z303-delinq-3-cat-name>\n<z303-budget></z303-budget>\n<z303-profile-id></z303-profile-id>\n<z303-ill-library></z303-ill-library>\n<z303-home-library>BOBST</z303-home-library>\n<z303-field-1></z303-field-1>\n<z303-field-2>Added
|
39
|
+
to Arrears 6/19/12 CTC</z303-field-2>\n<z303-field-3></z303-field-3>\n<z303-note-1></z303-note-1>\n<z303-note-2></z303-note-2>\n<z303-salutation></z303-salutation>\n<z303-ill-total-limit>0000</z303-ill-total-limit>\n<z303-ill-active-limit>0000</z303-ill-active-limit>\n<z303-dispatch-library></z303-dispatch-library>\n<z303-birth-date>00000000</z303-birth-date>\n<z303-export-consent>Y</z303-export-consent>\n<z303-proxy-id-type>00</z303-proxy-id-type>\n<z303-send-all-letters>Y</z303-send-all-letters>\n<z303-plain-html>P</z303-plain-html>\n<z303-want-sms>N</z303-want-sms>\n<z303-plif-modification></z303-plif-modification>\n<z303-title-req-limit>0000</z303-title-req-limit>\n<z303-gender></z303-gender>\n<z303-birthplace>PLIF
|
40
|
+
LOADED</z303-birthplace>\n</z303>\n<z304>\n<z304-id>N12162279</z304-id>\n<z304-sequence>01</z304-sequence>\n<z304-address-0>DALTON,SCOT
|
41
|
+
THOMAS</z304-address-0>\n<z304-address-1>274 PROSPECT PARK WEST, #2L</z304-address-1>\n<z304-address-2>BROOKLYN</z304-address-2>\n<z304-address-3>NY</z304-address-3>\n<z304-address-4>NY</z304-address-4>\n<z304-zip>11215</z304-zip>\n<z304-email-address></z304-email-address>\n<z304-telephone></z304-telephone>\n<z304-date-from>20120728</z304-date-from>\n<z304-date-to>20200101</z304-date-to>\n<z304-address-type>02</z304-address-type>\n<z304-telephone-2></z304-telephone-2>\n<z304-telephone-3></z304-telephone-3>\n<z304-telephone-4></z304-telephone-4>\n<z304-sms-number></z304-sms-number>\n<z304-update-date>20120728</z304-update-date>\n<z304-cat-name>CONV</z304-cat-name>\n</z304>\n<z305>\n<z305-id>N12162279</z305-id>\n<z305-sub-library>BOBST</z305-sub-library>\n<z305-open-date>20041119</z305-open-date>\n<z305-update-date>20120905</z305-update-date>\n<z305-bor-type>CB</z305-bor-type>\n<z305-bor-status>89</z305-bor-status>\n<z305-registration-date>00000000</z305-registration-date>\n<z305-expiry-date>20130831</z305-expiry-date>\n<z305-note></z305-note>\n<z305-loan-permission>Y</z305-loan-permission>\n<z305-photo-permission>Y</z305-photo-permission>\n<z305-over-permission>Y</z305-over-permission>\n<z305-multi-hold>N</z305-multi-hold>\n<z305-loan-check>Y</z305-loan-check>\n<z305-hold-permission>Y</z305-hold-permission>\n<z305-renew-permission>Y</z305-renew-permission>\n<z305-rr-permission>N</z305-rr-permission>\n<z305-ignore-late-return>N</z305-ignore-late-return>\n<z305-last-activity-date>20111205</z305-last-activity-date>\n<z305-photo-charge>F</z305-photo-charge>\n<z305-no-loan>0000</z305-no-loan>\n<z305-no-hold>0000</z305-no-hold>\n<z305-no-photo>0000</z305-no-photo>\n<z305-no-cash>0000</z305-no-cash>\n<z305-cash-limit>5.00</z305-cash-limit>\n<z305-credit-debit></z305-credit-debit>\n<z305-sum>0.00</z305-sum>\n<z305-delinq-1>00</z305-delinq-1>\n<z305-delinq-n-1></z305-delinq-n-1>\n<z305-delinq-1-update-date>00000000</z305-delinq-1-update-date>\n<z305-delinq-1-cat-name></z305-delinq-1-cat-name>\n<z305-delinq-2>00</z305-delinq-2>\n<z305-delinq-n-2></z305-delinq-n-2>\n<z305-delinq-2-update-date>00000000</z305-delinq-2-update-date>\n<z305-delinq-2-cat-name></z305-delinq-2-cat-name>\n<z305-delinq-3>00</z305-delinq-3>\n<z305-delinq-n-3></z305-delinq-n-3>\n<z305-delinq-3-update-date>00000000</z305-delinq-3-update-date>\n<z305-delinq-3-cat-name></z305-delinq-3-cat-name>\n<z305-field-1></z305-field-1>\n<z305-field-2></z305-field-2>\n<z305-field-3></z305-field-3>\n<z305-hold-on-shelf>Y</z305-hold-on-shelf>\n<z305-end-block-date>00000000</z305-end-block-date>\n<z305-booking-permission>N</z305-booking-permission>\n<z305-booking-ignore-hours>N</z305-booking-ignore-hours>\n<z305-rush-cat-request>N</z305-rush-cat-request>\n</z305>\n<session-id>LCTU1VKKYBXAH4MRAYPEC44M2H55URXPYF23RDGA71PIEA7MCR</session-id>\n</bor-auth>\n "
|
42
|
+
http_version:
|
43
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
44
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,68 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://login.nyu.edu/sso/identity/getCookieNameForToken
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- Apache-Coyote/1.1
|
21
|
+
Content-Type:
|
22
|
+
- text/plain;charset=UTF-8
|
23
|
+
Content-Length:
|
24
|
+
- '27'
|
25
|
+
Date:
|
26
|
+
- Mon, 12 Nov 2012 23:20:41 GMT
|
27
|
+
body:
|
28
|
+
encoding: US-ASCII
|
29
|
+
string: ! 'string=iPlanetDirectoryPro
|
30
|
+
|
31
|
+
'
|
32
|
+
http_version:
|
33
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
34
|
+
- request:
|
35
|
+
method: get
|
36
|
+
uri: https://login.nyu.edu/sso/identity/isTokenValid
|
37
|
+
body:
|
38
|
+
encoding: US-ASCII
|
39
|
+
string: ''
|
40
|
+
headers:
|
41
|
+
Accept:
|
42
|
+
- ! '*/*'
|
43
|
+
User-Agent:
|
44
|
+
- Ruby
|
45
|
+
Cookie:
|
46
|
+
- iPlanetDirectoryPro=AQIC5wM2LY4SfczTdvNBIcB4pWXKQmc-G0dHh5xgWeS0A5I.*AAJTSQACMDIAAlMxAAIwNg..*;
|
47
|
+
path=
|
48
|
+
response:
|
49
|
+
status:
|
50
|
+
code: 200
|
51
|
+
message: OK
|
52
|
+
headers:
|
53
|
+
Server:
|
54
|
+
- Apache-Coyote/1.1
|
55
|
+
Content-Type:
|
56
|
+
- text/plain;charset=UTF-8
|
57
|
+
Content-Length:
|
58
|
+
- '13'
|
59
|
+
Date:
|
60
|
+
- Mon, 12 Nov 2012 23:20:40 GMT
|
61
|
+
body:
|
62
|
+
encoding: US-ASCII
|
63
|
+
string: ! 'boolean=true
|
64
|
+
|
65
|
+
'
|
66
|
+
http_version:
|
67
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
68
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,67 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://login.nyu.edu/sso/identity/getCookieNameForToken
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- Apache-Coyote/1.1
|
21
|
+
Content-Type:
|
22
|
+
- text/plain;charset=UTF-8
|
23
|
+
Content-Length:
|
24
|
+
- '27'
|
25
|
+
Date:
|
26
|
+
- Mon, 12 Nov 2012 23:20:40 GMT
|
27
|
+
body:
|
28
|
+
encoding: US-ASCII
|
29
|
+
string: ! 'string=iPlanetDirectoryPro
|
30
|
+
|
31
|
+
'
|
32
|
+
http_version:
|
33
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
34
|
+
- request:
|
35
|
+
method: get
|
36
|
+
uri: https://login.nyu.edu/sso/identity/isTokenValid
|
37
|
+
body:
|
38
|
+
encoding: US-ASCII
|
39
|
+
string: ''
|
40
|
+
headers:
|
41
|
+
Accept:
|
42
|
+
- ! '*/*'
|
43
|
+
User-Agent:
|
44
|
+
- Ruby
|
45
|
+
Cookie:
|
46
|
+
- iPlanetDirectoryPro=Invalid; path=
|
47
|
+
response:
|
48
|
+
status:
|
49
|
+
code: 200
|
50
|
+
message: OK
|
51
|
+
headers:
|
52
|
+
Server:
|
53
|
+
- Apache-Coyote/1.1
|
54
|
+
Content-Type:
|
55
|
+
- text/plain;charset=UTF-8
|
56
|
+
Content-Length:
|
57
|
+
- '14'
|
58
|
+
Date:
|
59
|
+
- Mon, 12 Nov 2012 23:20:41 GMT
|
60
|
+
body:
|
61
|
+
encoding: US-ASCII
|
62
|
+
string: ! 'boolean=false
|
63
|
+
|
64
|
+
'
|
65
|
+
http_version:
|
66
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
67
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,37 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.nyu.edu/identity/getCookieNameForToken
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 404
|
17
|
+
message: Not Found
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Mon, 12 Nov 2012 23:20:40 GMT
|
21
|
+
Server:
|
22
|
+
- Apache/2.2.15 (Red Hat) DAV/2 mod_ssl/2.2.15 OpenSSL/1.0.0-fips Communique/4.0.11
|
23
|
+
Content-Length:
|
24
|
+
- '93'
|
25
|
+
Www:
|
26
|
+
- www3
|
27
|
+
Content-Type:
|
28
|
+
- text/html;charset=UTF-8
|
29
|
+
Set-Cookie:
|
30
|
+
- BIGipServerWWW-HTTP=1378527424.20480.0000; path=/
|
31
|
+
body:
|
32
|
+
encoding: US-ASCII
|
33
|
+
string: ! "<html><head><title>\n404\n \nNot Found\n</title></head><body><h1>\nNot
|
34
|
+
Found\n</h1>\n</body></html>\n"
|
35
|
+
http_version:
|
36
|
+
recorded_at: Mon, 12 Nov 2012 23:20:40 GMT
|
37
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,67 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://login.nyu.edu/sso/identity/getCookieNameForToken
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- Apache-Coyote/1.1
|
21
|
+
Content-Type:
|
22
|
+
- text/plain;charset=UTF-8
|
23
|
+
Content-Length:
|
24
|
+
- '27'
|
25
|
+
Date:
|
26
|
+
- Mon, 12 Nov 2012 23:20:41 GMT
|
27
|
+
body:
|
28
|
+
encoding: US-ASCII
|
29
|
+
string: ! 'string=iPlanetDirectoryPro
|
30
|
+
|
31
|
+
'
|
32
|
+
http_version:
|
33
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
34
|
+
- request:
|
35
|
+
method: get
|
36
|
+
uri: https://login.nyu.edu/sso/identity/isTokenValid
|
37
|
+
body:
|
38
|
+
encoding: US-ASCII
|
39
|
+
string: ''
|
40
|
+
headers:
|
41
|
+
Accept:
|
42
|
+
- ! '*/*'
|
43
|
+
User-Agent:
|
44
|
+
- Ruby
|
45
|
+
Cookie:
|
46
|
+
- iPlanetDirectoryPro=Invalid; path=
|
47
|
+
response:
|
48
|
+
status:
|
49
|
+
code: 200
|
50
|
+
message: OK
|
51
|
+
headers:
|
52
|
+
Server:
|
53
|
+
- Apache-Coyote/1.1
|
54
|
+
Content-Type:
|
55
|
+
- text/plain;charset=UTF-8
|
56
|
+
Content-Length:
|
57
|
+
- '14'
|
58
|
+
Date:
|
59
|
+
- Mon, 12 Nov 2012 23:20:40 GMT
|
60
|
+
body:
|
61
|
+
encoding: US-ASCII
|
62
|
+
string: ! 'boolean=false
|
63
|
+
|
64
|
+
'
|
65
|
+
http_version:
|
66
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
67
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,68 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://login.nyu.edu/sso/identity/getCookieNameForToken
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- Apache-Coyote/1.1
|
21
|
+
Content-Type:
|
22
|
+
- text/plain;charset=UTF-8
|
23
|
+
Content-Length:
|
24
|
+
- '27'
|
25
|
+
Date:
|
26
|
+
- Mon, 12 Nov 2012 23:20:41 GMT
|
27
|
+
body:
|
28
|
+
encoding: US-ASCII
|
29
|
+
string: ! 'string=iPlanetDirectoryPro
|
30
|
+
|
31
|
+
'
|
32
|
+
http_version:
|
33
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
34
|
+
- request:
|
35
|
+
method: get
|
36
|
+
uri: https://login.nyu.edu/sso/identity/isTokenValid
|
37
|
+
body:
|
38
|
+
encoding: US-ASCII
|
39
|
+
string: ''
|
40
|
+
headers:
|
41
|
+
Accept:
|
42
|
+
- ! '*/*'
|
43
|
+
User-Agent:
|
44
|
+
- Ruby
|
45
|
+
Cookie:
|
46
|
+
- iPlanetDirectoryPro=AQIC5wM2LY4SfczTdvNBIcB4pWXKQmc-G0dHh5xgWeS0A5I.*AAJTSQACMDIAAlMxAAIwNg..*;
|
47
|
+
path=
|
48
|
+
response:
|
49
|
+
status:
|
50
|
+
code: 200
|
51
|
+
message: OK
|
52
|
+
headers:
|
53
|
+
Server:
|
54
|
+
- Apache-Coyote/1.1
|
55
|
+
Content-Type:
|
56
|
+
- text/plain;charset=UTF-8
|
57
|
+
Content-Length:
|
58
|
+
- '13'
|
59
|
+
Date:
|
60
|
+
- Mon, 12 Nov 2012 23:20:40 GMT
|
61
|
+
body:
|
62
|
+
encoding: US-ASCII
|
63
|
+
string: ! 'boolean=true
|
64
|
+
|
65
|
+
'
|
66
|
+
http_version:
|
67
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
68
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,68 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://login.nyu.edu/sso/identity/getCookieNameForToken
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- Apache-Coyote/1.1
|
21
|
+
Content-Type:
|
22
|
+
- text/plain;charset=UTF-8
|
23
|
+
Content-Length:
|
24
|
+
- '27'
|
25
|
+
Date:
|
26
|
+
- Mon, 12 Nov 2012 23:20:40 GMT
|
27
|
+
body:
|
28
|
+
encoding: US-ASCII
|
29
|
+
string: ! 'string=iPlanetDirectoryPro
|
30
|
+
|
31
|
+
'
|
32
|
+
http_version:
|
33
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
34
|
+
- request:
|
35
|
+
method: get
|
36
|
+
uri: https://login.nyu.edu/sso/identity/isTokenValid
|
37
|
+
body:
|
38
|
+
encoding: US-ASCII
|
39
|
+
string: ''
|
40
|
+
headers:
|
41
|
+
Accept:
|
42
|
+
- ! '*/*'
|
43
|
+
User-Agent:
|
44
|
+
- Ruby
|
45
|
+
Cookie:
|
46
|
+
- iPlanetDirectoryPro=AQIC5wM2LY4SfczTdvNBIcB4pWXKQmc-G0dHh5xgWeS0A5I.*AAJTSQACMDIAAlMxAAIwNg..*;
|
47
|
+
path=
|
48
|
+
response:
|
49
|
+
status:
|
50
|
+
code: 200
|
51
|
+
message: OK
|
52
|
+
headers:
|
53
|
+
Server:
|
54
|
+
- Apache-Coyote/1.1
|
55
|
+
Content-Type:
|
56
|
+
- text/plain;charset=UTF-8
|
57
|
+
Content-Length:
|
58
|
+
- '13'
|
59
|
+
Date:
|
60
|
+
- Mon, 12 Nov 2012 23:20:41 GMT
|
61
|
+
body:
|
62
|
+
encoding: US-ASCII
|
63
|
+
string: ! 'boolean=true
|
64
|
+
|
65
|
+
'
|
66
|
+
http_version:
|
67
|
+
recorded_at: Mon, 12 Nov 2012 23:20:41 GMT
|
68
|
+
recorded_with: VCR 2.3.0
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authpds-nyu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: require_all
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 1.2.1
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.2.1
|
14
30
|
- !ruby/object:Gem::Dependency
|
15
31
|
name: rails
|
16
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,7 +66,7 @@ dependencies:
|
|
50
66
|
requirements:
|
51
67
|
- - ~>
|
52
68
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.1.
|
69
|
+
version: 0.1.0
|
54
70
|
type: :runtime
|
55
71
|
prerelease: false
|
56
72
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -58,23 +74,55 @@ dependencies:
|
|
58
74
|
requirements:
|
59
75
|
- - ~>
|
60
76
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.1.
|
77
|
+
version: 0.1.0
|
62
78
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
79
|
+
name: rake
|
64
80
|
requirement: !ruby/object:Gem::Requirement
|
65
81
|
none: false
|
66
82
|
requirements:
|
67
|
-
- -
|
83
|
+
- - ~>
|
68
84
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
85
|
+
version: 0.9.2.2
|
70
86
|
type: :development
|
71
87
|
prerelease: false
|
72
88
|
version_requirements: !ruby/object:Gem::Requirement
|
73
89
|
none: false
|
74
90
|
requirements:
|
75
|
-
- -
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 0.9.2.2
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: vcr
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 2.3.0
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 2.3.0
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: webmock
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.9.0
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
76
124
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
125
|
+
version: 1.9.0
|
78
126
|
description: NYU libraries SSO client.
|
79
127
|
email:
|
80
128
|
- scotdalton@gmail.com
|
@@ -82,6 +130,11 @@ executables: []
|
|
82
130
|
extensions: []
|
83
131
|
extra_rdoc_files: []
|
84
132
|
files:
|
133
|
+
- lib/authpds-nyu/session/aleph.rb
|
134
|
+
- lib/authpds-nyu/session/callbacks.rb
|
135
|
+
- lib/authpds-nyu/session/config.rb
|
136
|
+
- lib/authpds-nyu/session/core_attributes.rb
|
137
|
+
- lib/authpds-nyu/session/url_handling.rb
|
85
138
|
- lib/authpds-nyu/session.rb
|
86
139
|
- lib/authpds-nyu/sun/opensso.rb
|
87
140
|
- lib/authpds-nyu/version.rb
|
@@ -92,11 +145,19 @@ files:
|
|
92
145
|
- README.rdoc
|
93
146
|
- test/authpds-nyu_test.rb
|
94
147
|
- test/fixtures/users.yml
|
148
|
+
- test/opensso_test.rb
|
95
149
|
- test/support/user.rb
|
96
150
|
- test/support/user_session.rb
|
97
151
|
- test/test_helper.rb
|
98
|
-
- test/
|
99
|
-
- test/
|
152
|
+
- test/user_session_test.rb
|
153
|
+
- test/vcr_cassettes/bor_auth.yml
|
154
|
+
- test/vcr_cassettes/bor_auth_permissions.yml
|
155
|
+
- test/vcr_cassettes/find.yml
|
156
|
+
- test/vcr_cassettes/invalid_opensso_cookie.yml
|
157
|
+
- test/vcr_cassettes/invalid_opensso_url.yml
|
158
|
+
- test/vcr_cassettes/invalid_sso_session.yml
|
159
|
+
- test/vcr_cassettes/valid_opensso_cookie.yml
|
160
|
+
- test/vcr_cassettes/valid_sso_session.yml
|
100
161
|
homepage: http://github.com/scotdalton/authpds-nyu
|
101
162
|
licenses: []
|
102
163
|
post_install_message:
|
@@ -111,7 +172,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
111
172
|
version: '0'
|
112
173
|
segments:
|
113
174
|
- 0
|
114
|
-
hash: -
|
175
|
+
hash: -4245034746630320250
|
115
176
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
177
|
none: false
|
117
178
|
requirements:
|
@@ -120,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
181
|
version: '0'
|
121
182
|
segments:
|
122
183
|
- 0
|
123
|
-
hash: -
|
184
|
+
hash: -4245034746630320250
|
124
185
|
requirements: []
|
125
186
|
rubyforge_project:
|
126
187
|
rubygems_version: 1.8.24
|
@@ -130,8 +191,16 @@ summary: NYU libraries SSO client.
|
|
130
191
|
test_files:
|
131
192
|
- test/authpds-nyu_test.rb
|
132
193
|
- test/fixtures/users.yml
|
194
|
+
- test/opensso_test.rb
|
133
195
|
- test/support/user.rb
|
134
196
|
- test/support/user_session.rb
|
135
197
|
- test/test_helper.rb
|
136
|
-
- test/
|
137
|
-
- test/
|
198
|
+
- test/user_session_test.rb
|
199
|
+
- test/vcr_cassettes/bor_auth.yml
|
200
|
+
- test/vcr_cassettes/bor_auth_permissions.yml
|
201
|
+
- test/vcr_cassettes/find.yml
|
202
|
+
- test/vcr_cassettes/invalid_opensso_cookie.yml
|
203
|
+
- test/vcr_cassettes/invalid_opensso_url.yml
|
204
|
+
- test/vcr_cassettes/invalid_sso_session.yml
|
205
|
+
- test/vcr_cassettes/valid_opensso_cookie.yml
|
206
|
+
- test/vcr_cassettes/valid_sso_session.yml
|