authlogic-oauth 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/.git/COMMIT_EDITMSG +71 -0
  2. data/.git/FETCH_HEAD +1 -0
  3. data/.git/HEAD +1 -0
  4. data/.git/config +12 -0
  5. data/.git/description +1 -0
  6. data/.git/hooks/applypatch-msg.sample +15 -0
  7. data/.git/hooks/commit-msg.sample +24 -0
  8. data/.git/hooks/post-commit.sample +8 -0
  9. data/.git/hooks/post-receive.sample +15 -0
  10. data/.git/hooks/post-update.sample +8 -0
  11. data/.git/hooks/pre-applypatch.sample +14 -0
  12. data/.git/hooks/pre-commit.sample +18 -0
  13. data/.git/hooks/pre-rebase.sample +169 -0
  14. data/.git/hooks/prepare-commit-msg.sample +36 -0
  15. data/.git/hooks/update.sample +107 -0
  16. data/.git/index +0 -0
  17. data/.git/info/exclude +6 -0
  18. data/.git/logs/HEAD +8 -0
  19. data/.git/logs/refs/heads/master +6 -0
  20. data/.git/logs/refs/remotes/origin/HEAD +1 -0
  21. data/.git/logs/refs/remotes/origin/master +5 -0
  22. data/.git/objects/1a/7e60fbbc011b519f1f19dbca839cfd907924a3 +0 -0
  23. data/.git/objects/2e/f242d63b205e88b003d10e96d7d31269bd7073 +0 -0
  24. data/.git/objects/41/6b196f0d3fa02be32bdd0bd7d6a3fd7d57844d +0 -0
  25. data/.git/objects/42/607cc77682553f3d71ef40e5fae408ac3351f4 +0 -0
  26. data/.git/objects/56/6625e05678ab5d52511225fa360e6934e049f6 +0 -0
  27. data/.git/objects/56/947322f2e948b597b9e692320ecada30315e45 +0 -0
  28. data/.git/objects/87/a7f6af123ffd70a8cd751b80ec4d4a9de69ab9 +0 -0
  29. data/.git/objects/ab/14db4dd48cb6f4c3688eb65513afac383d3584 +0 -0
  30. data/.git/objects/b2/9bfce970d5a817d2f7626b2984dc8de67ab774 +0 -0
  31. data/.git/objects/e0/a81debca6c11c68732b3769d1f83c5c3c97c09 +0 -0
  32. data/.git/objects/e3/74f7848330d167432299a84e43c7af18a51b87 +2 -0
  33. data/.git/objects/f3/5e9e44d75a11221b0c2f2b2a0bdb5b37bfbaa1 +0 -0
  34. data/.git/objects/pack/pack-2b55f15bfde87d738b79905b5c0788e4a4cbf3af.idx +0 -0
  35. data/.git/objects/pack/pack-2b55f15bfde87d738b79905b5c0788e4a4cbf3af.pack +0 -0
  36. data/.git/packed-refs +2 -0
  37. data/.git/refs/heads/master +1 -0
  38. data/.git/refs/remotes/origin/HEAD +1 -0
  39. data/.git/refs/remotes/origin/master +1 -0
  40. data/CHANGELOG.rdoc +4 -0
  41. data/MIT-LICENSE +20 -0
  42. data/Manifest.txt +57 -0
  43. data/README.rdoc +120 -0
  44. data/Rakefile +20 -0
  45. data/init.rb +1 -0
  46. data/lib/authlogic_oauth/acts_as_authentic.rb +116 -0
  47. data/lib/authlogic_oauth/oauth_process.rb +61 -0
  48. data/lib/authlogic_oauth/session.rb +73 -0
  49. data/lib/authlogic_oauth/version.rb +51 -0
  50. data/lib/authlogic_oauth.rb +7 -0
  51. data/rails/init.rb +1 -0
  52. data/test/acts_as_authentic_test.rb +100 -0
  53. data/test/fixtures/users.yml +6 -0
  54. data/test/lib/user.rb +3 -0
  55. data/test/lib/user_session.rb +7 -0
  56. data/test/session_test.rb +27 -0
  57. data/test/test_helper.rb +49 -0
  58. data.tar.gz.sig +0 -0
  59. metadata +155 -0
  60. metadata.gz.sig +0 -0
@@ -0,0 +1,73 @@
1
+ module AuthlogicOauth
2
+ # This module is responsible for adding oauth
3
+ # to the Authlogic::Session::Base class.
4
+ module Session
5
+ def self.included(klass)
6
+ klass.class_eval do
7
+ extend Config
8
+ include Methods
9
+ end
10
+ end
11
+
12
+ module Config
13
+ # * <tt>Default:</tt> :find_by_oauth_token
14
+ # * <tt>Accepts:</tt> Symbol
15
+ def find_by_oauth_method(value = nil)
16
+ rw_config(:find_by_oauth_method, value, :find_by_oauth_token)
17
+ end
18
+ alias_method :find_by_oauth_method=, :find_by_oauth_method
19
+ end
20
+
21
+ module Methods
22
+ include OauthProcess
23
+
24
+ def self.included(klass)
25
+ klass.class_eval do
26
+ validate :validate_by_oauth, :if => :authenticating_with_oauth?
27
+ end
28
+ end
29
+
30
+ # Hooks into credentials so that you can pass a user who has already has an oauth access token.
31
+ def credentials=(value)
32
+ super
33
+ values = value.is_a?(Array) ? value : [value]
34
+ hash = values.first.is_a?(Hash) ? values.first.with_indifferent_access : nil
35
+ self.record = hash[:priority_record] if !hash.nil? && hash.key?(:priority_record)
36
+ end
37
+
38
+ def record=(record)
39
+ @record = record
40
+ end
41
+
42
+ # Clears out the block if we are authenticating with oauth,
43
+ # so that we can redirect without a DoubleRender error.
44
+ def save(&block)
45
+ block = nil if redirecting_to_oauth_server?
46
+ super(&block)
47
+ end
48
+
49
+ private
50
+
51
+ def authenticating_with_oauth?
52
+ !controller.params[:login_with_oauth].blank? || oauth_response
53
+ end
54
+
55
+ def authenticate_with_oauth
56
+ if @record
57
+ self.attempted_record = record
58
+ else
59
+ self.attempted_record = search_for_record(find_by_oauth_method, generate_access_token.token)
60
+ #errors.add_to_base("Unable to authenticate with Twitter.")
61
+ end
62
+
63
+ if !attempted_record
64
+ errors.add_to_base("Could not find user in our database, have you registered with your oauth account?")
65
+ end
66
+ end
67
+
68
+ def find_by_oauth_method
69
+ self.class.find_by_oauth_method
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,51 @@
1
+ module AuthlogicOauth
2
+ # A class for describing the current version of a library. The version
3
+ # consists of three parts: the +major+ number, the +minor+ number, and the
4
+ # +tiny+ (or +patch+) number.
5
+ class Version
6
+ include Comparable
7
+
8
+ # A convenience method for instantiating a new Version instance with the
9
+ # given +major+, +minor+, and +tiny+ components.
10
+ def self.[](major, minor, tiny)
11
+ new(major, minor, tiny)
12
+ end
13
+
14
+ attr_reader :major, :minor, :tiny
15
+
16
+ # Create a new Version object with the given components.
17
+ def initialize(major, minor, tiny)
18
+ @major, @minor, @tiny = major, minor, tiny
19
+ end
20
+
21
+ # Compare this version to the given +version+ object.
22
+ def <=>(version)
23
+ to_i <=> version.to_i
24
+ end
25
+
26
+ # Converts this version object to a string, where each of the three
27
+ # version components are joined by the '.' character. E.g., 2.0.0.
28
+ def to_s
29
+ @to_s ||= [@major, @minor, @tiny].join(".")
30
+ end
31
+
32
+ # Converts this version to a canonical integer that may be compared
33
+ # against other version objects.
34
+ def to_i
35
+ @to_i ||= @major * 1_000_000 + @minor * 1_000 + @tiny
36
+ end
37
+
38
+ def to_a
39
+ [@major, @minor, @tiny]
40
+ end
41
+
42
+ MAJOR = 1
43
+ MINOR = 0
44
+ TINY = 0
45
+
46
+ # The current version as a Version instance
47
+ CURRENT = new(MAJOR, MINOR, TINY)
48
+ # The current version as a String
49
+ STRING = CURRENT.to_s
50
+ end
51
+ end
@@ -0,0 +1,7 @@
1
+ require File.dirname(__FILE__) + "/authlogic_oauth/version"
2
+ require File.dirname(__FILE__) + "/authlogic_oauth/oauth_process"
3
+ require File.dirname(__FILE__) + "/authlogic_oauth/acts_as_authentic"
4
+ require File.dirname(__FILE__) + "/authlogic_oauth/session"
5
+
6
+ ActiveRecord::Base.send(:include, AuthlogicOauth::ActsAsAuthentic)
7
+ Authlogic::Session::Base.send(:include, AuthlogicOauth::Session)
data/rails/init.rb ADDED
@@ -0,0 +1 @@
1
+ require "authlogic_oauth"
@@ -0,0 +1,100 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class ActsAsAuthenticTest < ActiveSupport::TestCase
4
+ def test_included
5
+ assert User.send(:acts_as_authentic_modules).include?(AuthlogicOauth::ActsAsAuthentic::Methods)
6
+ assert_equal :validate_password_with_oauth?, User.validates_length_of_password_field_options[:if]
7
+ assert_equal :validate_password_with_oauth?, User.validates_confirmation_of_password_field_options[:if]
8
+ assert_equal :validate_password_with_oauth?, User.validates_length_of_password_confirmation_field_options[:if]
9
+ assert_equal :validate_password_with_oauth?, User.validates_length_of_login_field_options[:if]
10
+ assert_equal :validate_password_with_oauth?, User.validates_format_of_login_field_options[:if]
11
+ end
12
+
13
+ def test_required_fields_on_create
14
+ user = User.new
15
+ assert !user.save
16
+ assert user.errors.on(:login)
17
+ assert user.errors.on(:password)
18
+ assert user.errors.on(:password_confirmation)
19
+ end
20
+
21
+ def test_fields_not_required_on_create_if_using_oauth
22
+ user = User.new
23
+ user.oauth_token = "SLDKJSD"
24
+ assert !user.save {} # because we are redirecting, the user was NOT saved
25
+ #assert redirecting_to_oauth?
26
+ end
27
+
28
+ def test_login_not_required_on_update_if_using_oauth
29
+ john = users(:john)
30
+ assert_nil john.login
31
+ assert john.save
32
+ end
33
+
34
+ def test_password_not_required_on_update_if_using_oauth
35
+ john = users(:john)
36
+ assert_nil john.crypted_password
37
+ assert john.save
38
+ end
39
+
40
+ def test_email_not_required_on_update_if_using_oauth
41
+ john = users(:john)
42
+ assert_nil john.email
43
+ assert john.save
44
+ end
45
+
46
+ def test_fields_required_on_update_if_not_using_oauth
47
+ john = users(:john)
48
+ john.oauth_token = nil
49
+ assert_nil john.login
50
+ assert_nil john.crypted_password
51
+ assert_nil john.email
52
+ assert !john.save
53
+
54
+ assert john.errors.on(:login)
55
+ assert john.errors.on(:password)
56
+ assert john.errors.on(:password_confirmation)
57
+ end
58
+
59
+ def test_validates_uniqueness_of_oauth_token
60
+ u = User.new(:oauth_token => "johns_token")
61
+ assert !u.valid?
62
+ assert u.errors.on(:oauth_token)
63
+ end
64
+
65
+ def test_blank_oauth_token_gets_set_to_nil
66
+ u = User.new(:oauth_token => "")
67
+ assert_nil u.oauth_token
68
+ end
69
+
70
+ def test_blank_oauth_secret_gets_set_to_nil
71
+ u = User.new(:oauth_secret => "")
72
+ assert_nil u.oauth_secret
73
+ end
74
+
75
+ def test_updating_without_oauth
76
+ john = users(:john)
77
+ john.oauth_token = nil
78
+ john.login = "john"
79
+ john.email = "john@example.com"
80
+ john.password = "test"
81
+ john.password_confirmation = "test"
82
+ assert john.save
83
+ #assert !redirecting_to_yahoo?
84
+ end
85
+
86
+ def test_updating_without_validation
87
+ john = users(:john)
88
+ john.oauth_token = "SDSDGSDGSD"
89
+ assert john.save(false)
90
+ #assert !redirecting_to_yahoo?
91
+ end
92
+
93
+ def test_updating_without_a_block
94
+ john = users(:john)
95
+ john.oauth_token = "SDSDGSDGSD"
96
+ assert john.save
97
+ john.reload
98
+ assert_equal "SDSDGSDGSD", john.oauth_token
99
+ end
100
+ end
@@ -0,0 +1,6 @@
1
+ john:
2
+ persistence_token: 6cde0674657a8a313ce952df979de2830309aa4c11ca65805dd00bfdc65dbcc2f5e36718660a1d2e68c1a08c276d996763985d2f06fd3d076eb7bc4d97b1e317
3
+ single_access_token: <%= Authlogic::Random.friendly_token %>
4
+ perishable_token: <%= Authlogic::Random.friendly_token %>
5
+ oauth_token: johns_token
6
+ oauth_secret: johns_token_secret
data/test/lib/user.rb ADDED
@@ -0,0 +1,3 @@
1
+ class User < ActiveRecord::Base
2
+ acts_as_authentic
3
+ end
@@ -0,0 +1,7 @@
1
+ class UserSession < Authlogic::Session::Base
2
+
3
+ def self.oauth_consumer
4
+ OAuth::Consumer.new("CONSUMER_TOKEN", "CONSUMER_SECRET", { :site=>"http://example.com" })
5
+ end
6
+
7
+ end
@@ -0,0 +1,27 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class SessionTest < ActiveSupport::TestCase
4
+ def test_authenticate_by_record
5
+ session = UserSession.new
6
+ assert session.respond_to?(:record)
7
+ session.record = users(:john)
8
+ assert_equal users(:john), session.record
9
+ end
10
+
11
+ def test_validate_by_nil_oauth_token
12
+ session = UserSession.new
13
+ assert !session.save
14
+ #assert !redirecting_to_yahoo?
15
+ end
16
+
17
+ def test_auth_session
18
+ session = UserSession.new
19
+ #assert session.is_auth_session?
20
+ end
21
+
22
+ def test_validate_by_oauth
23
+ session = UserSession.new
24
+ assert !session.save
25
+ #assert redirecting_to_yahoo?
26
+ end
27
+ end
@@ -0,0 +1,49 @@
1
+ require "test/unit"
2
+ require "rubygems"
3
+ require "oauth"
4
+ require "ruby-debug"
5
+ require "active_record"
6
+ require "active_record/fixtures"
7
+
8
+ ActiveRecord::Schema.verbose = false
9
+ ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :dbfile => ":memory:")
10
+ ActiveRecord::Base.configurations = true
11
+ ActiveRecord::Schema.define(:version => 1) do
12
+ create_table :users do |t|
13
+ t.datetime :created_at
14
+ t.datetime :updated_at
15
+ t.integer :lock_version, :default => 0
16
+ t.string :login
17
+ t.string :crypted_password
18
+ t.string :password_salt
19
+ t.string :persistence_token
20
+ t.string :single_access_token
21
+ t.string :perishable_token
22
+ t.string :oauth_token
23
+ t.string :oauth_secret
24
+ t.string :email
25
+ t.integer :login_count, :default => 0, :null => false
26
+ t.integer :failed_login_count, :default => 0, :null => false
27
+ t.datetime :last_request_at
28
+ t.datetime :current_login_at
29
+ t.datetime :last_login_at
30
+ t.string :current_login_ip
31
+ t.string :last_login_ip
32
+ end
33
+ end
34
+
35
+ require File.dirname(__FILE__) + '/../../authlogic/lib/authlogic' unless defined?(Authlogic)
36
+ require File.dirname(__FILE__) + '/../../authlogic/lib/authlogic/test_case'
37
+ require File.dirname(__FILE__) + '/../lib/authlogic_oauth' unless defined?(AuthlogicOauth)
38
+ require File.dirname(__FILE__) + '/lib/user'
39
+ require File.dirname(__FILE__) + '/lib/user_session'
40
+
41
+ class ActiveSupport::TestCase
42
+ include ActiveRecord::TestFixtures
43
+ self.fixture_path = File.dirname(__FILE__) + "/fixtures"
44
+ self.use_transactional_fixtures = false
45
+ self.use_instantiated_fixtures = false
46
+ self.pre_loaded_fixtures = false
47
+ fixtures :all
48
+ setup :activate_authlogic
49
+ end
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,155 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: authlogic-oauth
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - John Allison
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDNDCCAhygAwIBAgIBADANBgkqhkiG9w0BAQUFADBAMRIwEAYDVQQDDAlqcmFs
14
+ bGlzb24xFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
15
+ bTAeFw0wOTA1MzEyMDI4NTFaFw0xMDA1MzEyMDI4NTFaMEAxEjAQBgNVBAMMCWpy
16
+ YWxsaXNvbjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
17
+ Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxmiht0h8Xr/jyzWJ
18
+ Hpu1N8/dHd03mLn2qedqbh7bUK6HRfUAfD2ZW23OBBzfo3/T1D+Ajof5zVRhKKz3
19
+ eVkxbm4u0D8nGmBUmhk8NRSCVpeTpOqjMcqIYHhy0Z6IcdPvyP5E2STJld3p4y3S
20
+ SrjhILliRu7VUc5MPVgzC357z122exJr2awM7aEjIadqft3nGNSf0Ic/GyUu42lp
21
+ pryVcuuRVh4knxywBfCa/R//eRnCxDwvdcqE8eavocSaJbMX+5fH4LznaKSQH+aO
22
+ TNWliGWzXaO6nruw4Zg5Qwq5Kv3XQqYDq+Cy0UtfBQOSmUtMrYiOZPDJxrDxip+q
23
+ uyl0dwIDAQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
24
+ NX1Z1p3gfKxvX4rWPTSsw2clmD0wDQYJKoZIhvcNAQEFBQADggEBAKBtJp407gUq
25
+ bEjeqWepDletgRkcGJ6ufMTvJo/oBbJ87RIGfDD4wrbdB9KuNmIBNsMbEkjjUgJR
26
+ +OqNrOWf26QdFNFdCpOJGjwV7pGuBH8CwMtg7hzo2YUtmP41UOUEJE/JZxzsroFv
27
+ sg4+NMaxf46G4gc8N8KcTp2oqfxZX2Q69FikK8C5252MeUp1L5SA2bg9O6gJ+NVL
28
+ 6LirrgJgsVRUd8opCNkIenqRd2rtQoK/NH18UWBMmRdP5aqsZNbuOjfUV435GV3d
29
+ KNs3c8VjZ48L7T+UwnAF/dxD8QcOwbNI5T2CumV/isbYEE0lA3NY4vSZc3Hw/DGk
30
+ vXZtBUyqY8Y=
31
+ -----END CERTIFICATE-----
32
+
33
+ date: 2009-05-31 00:00:00 -04:00
34
+ default_executable:
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: activesupport
38
+ type: :runtime
39
+ version_requirement:
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: "0"
45
+ version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: hoe
48
+ type: :development
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.12.2
55
+ version:
56
+ description: An authlogic extension for authenticating via OAuth. This can be helpful for adding support for login/registration with Twitter credentials.
57
+ email: jrallison@gmail.com
58
+ executables: []
59
+
60
+ extensions: []
61
+
62
+ extra_rdoc_files:
63
+ - Manifest.txt
64
+ - CHANGELOG.rdoc
65
+ - README.rdoc
66
+ files:
67
+ - .git/COMMIT_EDITMSG
68
+ - .git/FETCH_HEAD
69
+ - .git/HEAD
70
+ - .git/config
71
+ - .git/description
72
+ - .git/hooks/applypatch-msg.sample
73
+ - .git/hooks/commit-msg.sample
74
+ - .git/hooks/post-commit.sample
75
+ - .git/hooks/post-receive.sample
76
+ - .git/hooks/post-update.sample
77
+ - .git/hooks/pre-applypatch.sample
78
+ - .git/hooks/pre-commit.sample
79
+ - .git/hooks/pre-rebase.sample
80
+ - .git/hooks/prepare-commit-msg.sample
81
+ - .git/hooks/update.sample
82
+ - .git/index
83
+ - .git/info/exclude
84
+ - .git/logs/HEAD
85
+ - .git/logs/refs/heads/master
86
+ - .git/logs/refs/remotes/origin/HEAD
87
+ - .git/logs/refs/remotes/origin/master
88
+ - .git/objects/1a/7e60fbbc011b519f1f19dbca839cfd907924a3
89
+ - .git/objects/2e/f242d63b205e88b003d10e96d7d31269bd7073
90
+ - .git/objects/41/6b196f0d3fa02be32bdd0bd7d6a3fd7d57844d
91
+ - .git/objects/42/607cc77682553f3d71ef40e5fae408ac3351f4
92
+ - .git/objects/56/6625e05678ab5d52511225fa360e6934e049f6
93
+ - .git/objects/56/947322f2e948b597b9e692320ecada30315e45
94
+ - .git/objects/87/a7f6af123ffd70a8cd751b80ec4d4a9de69ab9
95
+ - .git/objects/ab/14db4dd48cb6f4c3688eb65513afac383d3584
96
+ - .git/objects/b2/9bfce970d5a817d2f7626b2984dc8de67ab774
97
+ - .git/objects/e0/a81debca6c11c68732b3769d1f83c5c3c97c09
98
+ - .git/objects/e3/74f7848330d167432299a84e43c7af18a51b87
99
+ - .git/objects/f3/5e9e44d75a11221b0c2f2b2a0bdb5b37bfbaa1
100
+ - .git/objects/pack/pack-2b55f15bfde87d738b79905b5c0788e4a4cbf3af.idx
101
+ - .git/objects/pack/pack-2b55f15bfde87d738b79905b5c0788e4a4cbf3af.pack
102
+ - .git/packed-refs
103
+ - .git/refs/heads/master
104
+ - .git/refs/remotes/origin/HEAD
105
+ - .git/refs/remotes/origin/master
106
+ - CHANGELOG.rdoc
107
+ - MIT-LICENSE
108
+ - Manifest.txt
109
+ - README.rdoc
110
+ - Rakefile
111
+ - init.rb
112
+ - lib/authlogic_oauth.rb
113
+ - lib/authlogic_oauth/acts_as_authentic.rb
114
+ - lib/authlogic_oauth/oauth_process.rb
115
+ - lib/authlogic_oauth/session.rb
116
+ - lib/authlogic_oauth/version.rb
117
+ - rails/init.rb
118
+ - test/acts_as_authentic_test.rb
119
+ - test/fixtures/users.yml
120
+ - test/lib/user.rb
121
+ - test/lib/user_session.rb
122
+ - test/session_test.rb
123
+ - test/test_helper.rb
124
+ has_rdoc: true
125
+ homepage: http://github.com/jrallison/authlogic_oauth
126
+ licenses: []
127
+
128
+ post_install_message:
129
+ rdoc_options:
130
+ - --main
131
+ - README.rdoc
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: "0"
139
+ version:
140
+ required_rubygems_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: "0"
145
+ version:
146
+ requirements: []
147
+
148
+ rubyforge_project: authlogic-oauth
149
+ rubygems_version: 1.3.2
150
+ signing_key:
151
+ specification_version: 3
152
+ summary: An authlogic extension for authenticating via OAuth. (I.E. Twitter login)
153
+ test_files:
154
+ - test/acts_as_authentic_test.rb
155
+ - test/session_test.rb