oa-core 0.1.2 → 0.1.3

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.
@@ -7,6 +7,14 @@ module OmniAuth
7
7
  super(&block)
8
8
  end
9
9
 
10
+ def on_failure(&block)
11
+ OmniAuth.config.on_failure = block
12
+ end
13
+
14
+ def configure(&block)
15
+ OmniAuth.configure(&block)
16
+ end
17
+
10
18
  def provider(klass, *args, &block)
11
19
  if klass.is_a?(Class)
12
20
  middleware = klass
@@ -19,8 +19,8 @@ module OmniAuth
19
19
  return fail!(:password_mismatch) if request[:password_confirmation] && request[:password_confirmation] != '' && request[:password] != request[:password_confirmation]
20
20
  env['REQUEST_METHOD'] = 'GET'
21
21
  env['PATH_INFO'] = request.path + '/callback'
22
- env['rack.auth'] = auth_hash(encrypt(request[:identifier], request[:password]))
23
- @app.call(env)
22
+ env['omniauth.auth'] = auth_hash(encrypt(request[:identifier], request[:password]))
23
+ call_app!
24
24
  end
25
25
 
26
26
  def auth_hash(crypted_password)
@@ -33,7 +33,7 @@ module OmniAuth
33
33
  end
34
34
 
35
35
  def callback_phase
36
- @app.call(env)
36
+ call_app!
37
37
  end
38
38
 
39
39
  def encrypt(identifier, password)
@@ -29,7 +29,7 @@ module OmniAuth
29
29
  if respond_to?(:other_phase)
30
30
  other_phase
31
31
  else
32
- @app.call(env)
32
+ call_app!
33
33
  end
34
34
  end
35
35
  end
@@ -39,8 +39,15 @@ module OmniAuth
39
39
  end
40
40
 
41
41
  def callback_phase
42
- env['rack.auth'] = auth_hash
43
- @app.call(env)
42
+ @env['omniauth.auth'] = auth_hash
43
+ call_app!
44
+ end
45
+
46
+ def call_app!
47
+ @env['rack.auth'] = env['omniauth.auth'] if env.key?('omniauth.auth')
48
+ @env['rack.auth.error'] = env['omniauth.error'] if env.key?('omniauth.error')
49
+
50
+ @app.call(@env)
44
51
  end
45
52
 
46
53
  def auth_hash
@@ -77,7 +84,8 @@ module OmniAuth
77
84
 
78
85
  def user_info; {} end
79
86
 
80
- def fail!(message_key)
87
+ def fail!(message_key, exception = nil)
88
+ self.env['omniauth.error'] = exception
81
89
  OmniAuth.config.on_failure.call(self.env, message_key.to_sym)
82
90
  end
83
91
  end
@@ -6,19 +6,19 @@ module OmniAuth
6
6
 
7
7
  def sets_an_auth_hash
8
8
  it 'should set an auth hash' do
9
- last_request.env['rack.auth'].should be_kind_of(Hash)
9
+ last_request.env['omniauth.auth'].should be_kind_of(Hash)
10
10
  end
11
11
  end
12
12
 
13
13
  def sets_provider_to(provider)
14
14
  it "should set the provider to #{provider}" do
15
- (last_request.env['rack.auth'] || {})['provider'].should == provider
15
+ (last_request.env['omniauth.auth'] || {})['provider'].should == provider
16
16
  end
17
17
  end
18
18
 
19
19
  def sets_uid_to(uid)
20
20
  it "should set the UID to #{uid}" do
21
- (last_request.env['rack.auth'] || {})['uid'].should == uid
21
+ (last_request.env['omniauth.auth'] || {})['uid'].should == uid
22
22
  end
23
23
  end
24
24
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oa-core
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael Bleigh
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-06 00:00:00 -05:00
18
+ date: 2010-10-11 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency