oa-core 0.2.0.beta2 → 0.2.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
data/lib/omniauth/core.rb CHANGED
@@ -26,6 +26,7 @@ module OmniAuth
26
26
  end,
27
27
  :form_css => Form::DEFAULT_CSS,
28
28
  :test_mode => false,
29
+ :allowed_request_methods => [:get, :post],
29
30
  :mock_auth => {
30
31
  :default => {
31
32
  'uid' => '1234',
@@ -55,7 +56,7 @@ module OmniAuth
55
56
  end
56
57
 
57
58
  attr_writer :on_failure
58
- attr_accessor :path_prefix, :form_css, :test_mode, :mock_auth, :full_host
59
+ attr_accessor :path_prefix, :allowed_request_methods, :form_css, :test_mode, :mock_auth, :full_host
59
60
  end
60
61
 
61
62
  def self.config
@@ -7,9 +7,8 @@ module OmniAuth
7
7
  include OmniAuth::Strategy
8
8
 
9
9
  def initialize(app, secret = 'changethisappsecret', options = {}, &block)
10
- @options = options
11
10
  @secret = secret
12
- super(app, :password, &block)
11
+ super(app, :password, options, &block)
13
12
  end
14
13
 
15
14
  attr_reader :secret
@@ -26,12 +26,12 @@ module OmniAuth
26
26
  def call!(env)
27
27
  @env = env
28
28
  return mock_call!(env) if OmniAuth.config.test_mode
29
-
30
- if request.path == request_path
29
+
30
+ if current_path == request_path && OmniAuth.config.allowed_request_methods.include?(request.request_method.downcase.to_sym)
31
31
  status, headers, body = *call_app!
32
32
  @response = Rack::Response.new(body, status, headers)
33
33
  request_phase
34
- elsif request.path == callback_path
34
+ elsif current_path == callback_path
35
35
  callback_phase
36
36
  else
37
37
  if respond_to?(:other_phase)
@@ -43,9 +43,11 @@ module OmniAuth
43
43
  end
44
44
 
45
45
  def mock_call!(env)
46
- if request.path == request_path
46
+ if current_path == request_path
47
+ status, headers, body = *call_app!
48
+ @response = Rack::Response.new(body, status, headers)
47
49
  redirect callback_path
48
- elsif request.path == callback_path
50
+ elsif current_path == callback_path
49
51
  @env['omniauth.auth'] = OmniAuth.mock_auth_for(name.to_sym)
50
52
  call_app!
51
53
  else
@@ -75,6 +77,10 @@ module OmniAuth
75
77
  options[:callback_path] || "#{path_prefix}/#{name}/callback"
76
78
  end
77
79
 
80
+ def current_path
81
+ request.path.sub(/\/$/,'')
82
+ end
83
+
78
84
  def query_string
79
85
  request.query_string.empty? ? "" : "?#{request.query_string}"
80
86
  end
@@ -22,6 +22,11 @@ module OmniAuth
22
22
  end
23
23
  end
24
24
 
25
+ def sets_user_info_to(user_info)
26
+ it "should set the user_info to #{user_info}" do
27
+ (last_request.env['omniauth.auth'] || {})['user_info'].should == user_info
28
+ end
29
+ end
25
30
  end
26
31
 
27
32
  end
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oa-core
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: true
5
- segments:
6
- - 0
7
- - 2
8
- - 0
9
- - beta2
10
- version: 0.2.0.beta2
4
+ prerelease: 6
5
+ version: 0.2.0.beta3
11
6
  platform: ruby
12
7
  authors:
13
8
  - Michael Bleigh
@@ -15,7 +10,7 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2011-01-14 00:00:00 -06:00
13
+ date: 2011-02-03 00:00:00 -06:00
19
14
  default_executable:
20
15
  dependencies:
21
16
  - !ruby/object:Gem::Dependency
@@ -25,9 +20,6 @@ dependencies:
25
20
  requirements:
26
21
  - - ~>
27
22
  - !ruby/object:Gem::Version
28
- segments:
29
- - 1
30
- - 1
31
23
  version: "1.1"
32
24
  type: :runtime
33
25
  prerelease: false
@@ -39,8 +31,6 @@ dependencies:
39
31
  requirements:
40
32
  - - ">="
41
33
  - !ruby/object:Gem::Version
42
- segments:
43
- - 0
44
34
  version: "0"
45
35
  type: :development
46
36
  prerelease: false
@@ -52,10 +42,6 @@ dependencies:
52
42
  requirements:
53
43
  - - ~>
54
44
  - !ruby/object:Gem::Version
55
- segments:
56
- - 0
57
- - 0
58
- - 8
59
45
  version: 0.0.8
60
46
  type: :development
61
47
  prerelease: false
@@ -67,10 +53,6 @@ dependencies:
67
53
  requirements:
68
54
  - - ~>
69
55
  - !ruby/object:Gem::Version
70
- segments:
71
- - 1
72
- - 3
73
- - 0
74
56
  version: 1.3.0
75
57
  type: :development
76
58
  prerelease: false
@@ -82,10 +64,6 @@ dependencies:
82
64
  requirements:
83
65
  - - ~>
84
66
  - !ruby/object:Gem::Version
85
- segments:
86
- - 1
87
- - 3
88
- - 4
89
67
  version: 1.3.4
90
68
  type: :development
91
69
  prerelease: false
@@ -97,10 +75,6 @@ dependencies:
97
75
  requirements:
98
76
  - - ~>
99
77
  - !ruby/object:Gem::Version
100
- segments:
101
- - 0
102
- - 5
103
- - 4
104
78
  version: 0.5.4
105
79
  type: :development
106
80
  prerelease: false
@@ -112,10 +86,6 @@ dependencies:
112
86
  requirements:
113
87
  - - ~>
114
88
  - !ruby/object:Gem::Version
115
- segments:
116
- - 1
117
- - 4
118
- - 3
119
89
  version: 1.4.3
120
90
  type: :development
121
91
  prerelease: false
@@ -153,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
123
  requirements:
154
124
  - - ">="
155
125
  - !ruby/object:Gem::Version
156
- hash: -3598036848001495885
126
+ hash: -4575558600340992300
157
127
  segments:
158
128
  - 0
159
129
  version: "0"
@@ -162,15 +132,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
132
  requirements:
163
133
  - - ">"
164
134
  - !ruby/object:Gem::Version
165
- segments:
166
- - 1
167
- - 3
168
- - 1
169
135
  version: 1.3.1
170
136
  requirements: []
171
137
 
172
138
  rubyforge_project:
173
- rubygems_version: 1.3.7
139
+ rubygems_version: 1.5.0
174
140
  signing_key:
175
141
  specification_version: 3
176
142
  summary: HTTP Basic strategies for OmniAuth.