twitter-auth 0.1.21 → 0.1.22

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.
@@ -1,6 +1,10 @@
1
1
  Change Log
2
2
  ==========
3
3
 
4
+ == 0.1.22 - June 19, 2009
5
+
6
+ - Merged in @pengwynn's OAuth 1.0a support patch. Thanks!
7
+
4
8
  == 0.1.19 - April 23, 2009
5
9
 
6
10
  - Added this changelog to keep track of additions to TwitterAuth
@@ -1,4 +1,4 @@
1
1
  ---
2
+ :patch: 22
2
3
  :major: 0
3
4
  :minor: 1
4
- :patch: 21
@@ -1,7 +1,10 @@
1
1
  class SessionsController < ApplicationController
2
+ unloadable
3
+
2
4
  def new
3
5
  if TwitterAuth.oauth?
4
- @request_token = TwitterAuth.consumer.get_request_token
6
+ oauth_callback = request.protocol + request.host_with_port + '/oauth_callback'
7
+ @request_token = TwitterAuth.consumer.get_request_token({:oauth_callback=>oauth_callback})
5
8
  session[:request_token] = @request_token.token
6
9
  session[:request_token_secret] = @request_token.secret
7
10
 
@@ -34,7 +37,8 @@ class SessionsController < ApplicationController
34
37
 
35
38
  @request_token = OAuth::RequestToken.new(TwitterAuth.consumer, session[:request_token], session[:request_token_secret])
36
39
 
37
- @access_token = @request_token.get_access_token
40
+ oauth_verifier = params["oauth_verifier"]
41
+ @access_token = @request_token.get_access_token(:oauth_verifier => oauth_verifier)
38
42
 
39
43
  # The request token has been invalidated
40
44
  # so we nullify it in the session.
@@ -48,7 +52,7 @@ class SessionsController < ApplicationController
48
52
  cookies[:remember_token] = @user.remember_me
49
53
 
50
54
  authentication_succeeded
51
- rescue Net::HTTPServerException, Net::HTTPFatalError, TwitterAuth::Dispatcher::Error => e
55
+ rescue Net::HTTPServerException => e
52
56
  case e.message
53
57
  when '401 "Unauthorized"'
54
58
  authentication_failed('This authentication request is no longer valid. Please try again.') and return
@@ -24,12 +24,14 @@ module TwitterAuth
24
24
  :utc_offset
25
25
  ]
26
26
 
27
- validates_presence_of :login, :twitter_id
28
- validates_format_of :login, :with => /\A[a-z0-9_]+\z/i
29
- validates_length_of :login, :in => 1..15
30
- validates_uniqueness_of :login, :case_sensitive => false
31
- validates_uniqueness_of :twitter_id, :message => "ID has already been taken."
32
- validates_uniqueness_of :remember_token, :allow_blank => true
27
+ with_options :if => :utilize_default_validations do |v|
28
+ v.validates_presence_of :login, :twitter_id
29
+ v.validates_format_of :login, :with => /\A[a-z0-9_]+\z/i
30
+ v.validates_length_of :login, :in => 1..15
31
+ v.validates_uniqueness_of :login, :case_sensitive => false
32
+ v.validates_uniqueness_of :twitter_id, :message => "ID has already been taken."
33
+ v.validates_uniqueness_of :remember_token, :allow_blank => true
34
+ end
33
35
 
34
36
  def self.table_name; 'users' end
35
37
 
@@ -70,6 +72,10 @@ module TwitterAuth
70
72
  include TwitterAuth::BasicUser
71
73
  end
72
74
 
75
+ def utilize_default_validations
76
+ true
77
+ end
78
+
73
79
  def twitter
74
80
  if TwitterAuth.oauth?
75
81
  TwitterAuth::Dispatcher::Oauth.new(self)
@@ -60,7 +60,8 @@ module TwitterAuth
60
60
  [ :authorize_path,
61
61
  :request_token_path,
62
62
  :access_token_path,
63
- :scheme ].each do |oauth_option|
63
+ :scheme,
64
+ :signature_method ].each do |oauth_option|
64
65
  options[oauth_option] = TwitterAuth.config[oauth_option.to_s] if TwitterAuth.config[oauth_option.to_s]
65
66
  end
66
67
 
@@ -16,11 +16,18 @@ module TwitterAuth
16
16
 
17
17
  def authentication_succeeded(message = 'You have logged in successfully.', destination = '/')
18
18
  flash[:notice] = message
19
- redirect_to destination
19
+ redirect_back_or_default destination
20
20
  end
21
21
 
22
22
  def current_user
23
- @current_user ||= User.find_by_id(session[:user_id]) || User.from_remember_token(cookies[:remember_token])
23
+ @current_user ||=
24
+ if session[:user_id]
25
+ User.find_by_id(session[:user_id])
26
+ elsif cookies[:remember_token]
27
+ User.from_remember_token(cookies[:remember_token])
28
+ else
29
+ false
30
+ end
24
31
  end
25
32
 
26
33
  def current_user=(new_user)
@@ -55,8 +62,8 @@ module TwitterAuth
55
62
  end
56
63
 
57
64
  def logout_keeping_session!
58
- @current_user = nil
59
65
  session[:user_id] = nil
66
+ @current_user = nil
60
67
  cookies.delete(:remember_token)
61
68
  end
62
69
  end
@@ -151,7 +151,7 @@ describe TwitterAuthTestController do
151
151
  it 'should unset current_user' do
152
152
  controller.send(:current_user).should == @user
153
153
  get :logout_keeping_session_action
154
- controller.send(:current_user).should be_nil
154
+ controller.send(:current_user).should be_false
155
155
  end
156
156
 
157
157
  it 'should unset the cookie' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter-auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.21
4
+ version: 0.1.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Bleigh
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-27 00:00:00 -04:00
12
+ date: 2009-06-19 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -42,66 +42,51 @@ extra_rdoc_files:
42
42
  - README.markdown
43
43
  files:
44
44
  - CHANGELOG.markdown
45
- - Rakefile
46
45
  - README.markdown
46
+ - Rakefile
47
47
  - VERSION.yml
48
- - generators/twitter_auth
49
- - generators/twitter_auth/templates
48
+ - app/controllers/sessions_controller.rb
49
+ - app/models/twitter_auth/basic_user.rb
50
+ - app/models/twitter_auth/generic_user.rb
51
+ - app/models/twitter_auth/oauth_user.rb
52
+ - app/views/sessions/_login_form.html.erb
53
+ - app/views/sessions/new.html.erb
54
+ - config/routes.rb
55
+ - generators/twitter_auth/USAGE
50
56
  - generators/twitter_auth/templates/migration.rb
51
57
  - generators/twitter_auth/templates/twitter_auth.yml
52
58
  - generators/twitter_auth/templates/user.rb
53
59
  - generators/twitter_auth/twitter_auth_generator.rb
54
- - generators/twitter_auth/USAGE
55
- - lib/twitter_auth
60
+ - lib/twitter_auth.rb
56
61
  - lib/twitter_auth/controller_extensions.rb
57
62
  - lib/twitter_auth/cryptify.rb
58
- - lib/twitter_auth/dispatcher
59
63
  - lib/twitter_auth/dispatcher/basic.rb
60
64
  - lib/twitter_auth/dispatcher/oauth.rb
61
65
  - lib/twitter_auth/dispatcher/shared.rb
62
- - lib/twitter_auth.rb
63
- - spec/controllers
66
+ - rails/init.rb
64
67
  - spec/controllers/controller_extensions_spec.rb
65
68
  - spec/controllers/sessions_controller_spec.rb
66
- - spec/fixtures
67
- - spec/fixtures/config
68
69
  - spec/fixtures/config/twitter_auth.yml
69
70
  - spec/fixtures/factories.rb
70
71
  - spec/fixtures/fakeweb.rb
71
72
  - spec/fixtures/twitter.rb
72
- - spec/models
73
- - spec/models/twitter_auth
74
73
  - spec/models/twitter_auth/basic_user_spec.rb
75
74
  - spec/models/twitter_auth/generic_user_spec.rb
76
75
  - spec/models/twitter_auth/oauth_user_spec.rb
77
76
  - spec/schema.rb
78
77
  - spec/spec.opts
79
78
  - spec/spec_helper.rb
80
- - spec/twitter_auth
81
79
  - spec/twitter_auth/cryptify_spec.rb
82
- - spec/twitter_auth/dispatcher
83
80
  - spec/twitter_auth/dispatcher/basic_spec.rb
84
81
  - spec/twitter_auth/dispatcher/oauth_spec.rb
85
82
  - spec/twitter_auth/dispatcher/shared_spec.rb
86
83
  - spec/twitter_auth_spec.rb
87
- - config/routes.rb
88
- - app/controllers
89
- - app/controllers/sessions_controller.rb
90
- - app/models
91
- - app/models/twitter_auth
92
- - app/models/twitter_auth/basic_user.rb
93
- - app/models/twitter_auth/generic_user.rb
94
- - app/models/twitter_auth/oauth_user.rb
95
- - app/views
96
- - app/views/sessions
97
- - app/views/sessions/_login_form.html.erb
98
- - app/views/sessions/new.html.erb
99
- - rails/init.rb
100
84
  has_rdoc: true
101
85
  homepage: http://github.com/mbleigh/twitter-auth
86
+ licenses: []
87
+
102
88
  post_install_message:
103
89
  rdoc_options:
104
- - --inline-source
105
90
  - --charset=UTF-8
106
91
  require_paths:
107
92
  - lib
@@ -120,9 +105,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
105
  requirements: []
121
106
 
122
107
  rubyforge_project: twitter-auth
123
- rubygems_version: 1.3.1
108
+ rubygems_version: 1.3.3
124
109
  signing_key:
125
- specification_version: 2
110
+ specification_version: 3
126
111
  summary: TwitterAuth is a Rails plugin gem that provides Single Sign-On capabilities for Rails applications via Twitter.
127
- test_files: []
128
-
112
+ test_files:
113
+ - spec/controllers/controller_extensions_spec.rb
114
+ - spec/controllers/sessions_controller_spec.rb
115
+ - spec/fixtures/factories.rb
116
+ - spec/fixtures/fakeweb.rb
117
+ - spec/fixtures/twitter.rb
118
+ - spec/models/twitter_auth/basic_user_spec.rb
119
+ - spec/models/twitter_auth/generic_user_spec.rb
120
+ - spec/models/twitter_auth/oauth_user_spec.rb
121
+ - spec/schema.rb
122
+ - spec/spec_helper.rb
123
+ - spec/twitter_auth/cryptify_spec.rb
124
+ - spec/twitter_auth/dispatcher/basic_spec.rb
125
+ - spec/twitter_auth/dispatcher/oauth_spec.rb
126
+ - spec/twitter_auth/dispatcher/shared_spec.rb
127
+ - spec/twitter_auth_spec.rb