authpds-nyu 0.0.9 → 0.1.0
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.
- data/README.rdoc +61 -1
- data/lib/authpds-nyu/session.rb +13 -1
- data/lib/authpds-nyu/version.rb +1 -1
- metadata +10 -10
data/README.rdoc
CHANGED
@@ -1,3 +1,63 @@
|
|
1
1
|
= AuthpdsNyu
|
2
2
|
|
3
|
-
|
3
|
+
This gem provides a mechanism for user authentication and authorization via NYU Libraries PDS system. It extends Authpds and provides NYU Libraries' specific configuration.
|
4
|
+
|
5
|
+
== Basics
|
6
|
+
=== Generate User-like model
|
7
|
+
$ rails generate model User username:string email:string firstname:string \
|
8
|
+
lastname:string mobile_phone:string crypted_password:string password_salt:string \
|
9
|
+
session_id:string persistence_token:string login_count:integer last_request_at:string \
|
10
|
+
current_login_at:string last_login_at:string last_login_ip:string current_login_ip:string \
|
11
|
+
user_attributes:text refreshed_at:datetime
|
12
|
+
|
13
|
+
=== Configure User-like model
|
14
|
+
class User < ActiveRecord::Base
|
15
|
+
serialize :user_attributes
|
16
|
+
|
17
|
+
acts_as_authentic do |c|
|
18
|
+
c.validations_scope = :username
|
19
|
+
c.validate_password_field = false
|
20
|
+
c.require_password_confirmation = false
|
21
|
+
c.disable_perishable_token_maintenance = true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
=== Generate UserSession model
|
26
|
+
$ rails generate authlogic:session user_session
|
27
|
+
|
28
|
+
=== Configure UserSession with Authpds options
|
29
|
+
class UserSession < Authlogic::Session::Base
|
30
|
+
pds_url "https://login.library.nyu.edu"
|
31
|
+
redirect_logout_url "http://bobcat.library.nyu.edu"
|
32
|
+
calling_system "nyu_system"
|
33
|
+
anonymous true
|
34
|
+
end
|
35
|
+
|
36
|
+
=== Create UserSessions controller
|
37
|
+
$ rails generate controller UserSessions --no-assets --no-helper
|
38
|
+
|
39
|
+
=== Mixin authpds methods into UserSessionsController
|
40
|
+
class UserSessionsController < ApplicationController
|
41
|
+
require 'authpds'
|
42
|
+
include Authpds::Controllers::AuthpdsSessionsController
|
43
|
+
end
|
44
|
+
|
45
|
+
=== Mixin authpds methods into ApplicationController
|
46
|
+
class ApplicationController < ActionController::Base
|
47
|
+
protect_from_forgery
|
48
|
+
require 'authpds'
|
49
|
+
include Authpds::Controllers::AuthpdsController
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
== Overview
|
54
|
+
The module extends Authpds and should be compatible with Authpds configuation.
|
55
|
+
It also provides hooks for custom functionality.
|
56
|
+
The documentation below describes NYU specific config methods available.
|
57
|
+
|
58
|
+
== Config Options Available
|
59
|
+
:opensso_url:: Base OpenSSO url (https://login.nyu.edu:443/sso)
|
60
|
+
:aleph_url:: Aleph url (http://aleph.library.nyu.edu)
|
61
|
+
:aleph_default_adm:: Aleph default ADM (NYU50)
|
62
|
+
:aleph_default_sublibrary:: Aleph default sublibrary (BOBST)
|
63
|
+
|
data/lib/authpds-nyu/session.rb
CHANGED
@@ -1,4 +1,16 @@
|
|
1
1
|
module AuthpdsNyu
|
2
|
+
# == Overview
|
3
|
+
# This gem provides a mechanism for user authentication and authorization via NYU Libraries PDS system.
|
4
|
+
# The module extends Authpds and should be compatible with Authpds configuation.
|
5
|
+
# It also provides hooks for custom functionality.
|
6
|
+
# The documentation below describes NYU specific config methods available.
|
7
|
+
#
|
8
|
+
# == Config Options Available
|
9
|
+
# :opensso_url:: Base OpenSSO url (https://login.nyu.edu:443/sso)
|
10
|
+
# :aleph_url:: Aleph url (http://aleph.library.nyu.edu)
|
11
|
+
# :aleph_default_adm:: Aleph default ADM (NYU50)
|
12
|
+
# :aleph_default_sublibrary:: Aleph default sublibrary (BOBST)
|
13
|
+
#
|
2
14
|
module Session
|
3
15
|
def self.included(klass)
|
4
16
|
klass.class_eval do
|
@@ -62,7 +74,7 @@ module AuthpdsNyu
|
|
62
74
|
end
|
63
75
|
end
|
64
76
|
|
65
|
-
#
|
77
|
+
# Overriden logout url for NYU.
|
66
78
|
def logout_url(params={})
|
67
79
|
return "#{self.class.pds_url}/logout?url=#{CGI::escape(controller.user_session_redirect_url(self.class.redirect_logout_url))}"
|
68
80
|
end
|
data/lib/authpds-nyu/version.rb
CHANGED
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.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-04-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &2151934880 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.2.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2151934880
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: authpds
|
27
|
-
requirement: &
|
27
|
+
requirement: &2151932960 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2151932960
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: exlibris-aleph
|
38
|
-
requirement: &
|
38
|
+
requirement: &2151931660 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2151931660
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sqlite3
|
49
|
-
requirement: &
|
49
|
+
requirement: &2151930180 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2151930180
|
58
58
|
description: NYU libraries SSO client.
|
59
59
|
email:
|
60
60
|
- scotdalton@gmail.com
|