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 CHANGED
@@ -1,3 +1,63 @@
1
1
  = AuthpdsNyu
2
2
 
3
- Gem to connect to NYU PDS system for user authentication and authorization.
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
+
@@ -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
- # Override logout url for NYU.
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
@@ -1,3 +1,3 @@
1
1
  module AuthpdsNyu
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
  end
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.9
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-03-29 00:00:00.000000000 Z
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: &2151933700 !ruby/object:Gem::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: *2151933700
24
+ version_requirements: *2151934880
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: authpds
27
- requirement: &2151932200 !ruby/object:Gem::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: *2151932200
35
+ version_requirements: *2151932960
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: exlibris-aleph
38
- requirement: &2151930480 !ruby/object:Gem::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: *2151930480
46
+ version_requirements: *2151931660
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sqlite3
49
- requirement: &2151929580 !ruby/object:Gem::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: *2151929580
57
+ version_requirements: *2151930180
58
58
  description: NYU libraries SSO client.
59
59
  email:
60
60
  - scotdalton@gmail.com