oa-core 0.0.3 → 0.0.4
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/CHANGELOG.rdoc +3 -0
- data/lib/omniauth/builder.rb +2 -0
- data/lib/omniauth/core.rb +9 -4
- data/lib/omniauth/form.rb +8 -0
- data/lib/omniauth/strategies/password.rb +2 -2
- data/lib/omniauth/strategy.rb +4 -0
- data/lib/omniauth/test.rb +12 -0
- data/lib/omniauth/test/phony_session.rb +8 -0
- data/lib/omniauth/test/strategy_macros.rb +29 -0
- data/lib/omniauth/test/strategy_test_case.rb +43 -0
- metadata +90 -36
- data/README.rdoc +0 -0
- data/lib/omniauth/password.rb +0 -2
data/CHANGELOG.rdoc
CHANGED
data/lib/omniauth/builder.rb
CHANGED
data/lib/omniauth/core.rb
CHANGED
@@ -1,9 +1,17 @@
|
|
1
1
|
require 'rack'
|
2
2
|
require 'singleton'
|
3
|
-
|
4
3
|
require 'omniauth/form'
|
5
4
|
|
6
5
|
module OmniAuth
|
6
|
+
|
7
|
+
autoload :Builder, 'omniauth/builder'
|
8
|
+
autoload :Strategy, 'omniauth/strategy'
|
9
|
+
autoload :Test, 'omniauth/test'
|
10
|
+
|
11
|
+
module Strategies
|
12
|
+
autoload :Password, 'omniauth/strategies/password'
|
13
|
+
end
|
14
|
+
|
7
15
|
class Configuration
|
8
16
|
include Singleton
|
9
17
|
|
@@ -85,6 +93,3 @@ module OmniAuth
|
|
85
93
|
end
|
86
94
|
end
|
87
95
|
end
|
88
|
-
|
89
|
-
require 'omniauth/builder'
|
90
|
-
require 'omniauth/strategy'
|
data/lib/omniauth/form.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'omniauth/core'
|
2
|
+
|
1
3
|
module OmniAuth
|
2
4
|
class Form
|
3
5
|
DEFAULT_CSS = <<-CSS
|
@@ -58,6 +60,12 @@ module OmniAuth
|
|
58
60
|
width: 280px;
|
59
61
|
}
|
60
62
|
|
63
|
+
input#identifier, input#openid_url {
|
64
|
+
background: url(http://openid.net/login-bg.gif) no-repeat;
|
65
|
+
background-position: 0 50%;
|
66
|
+
padding-left: 18px;
|
67
|
+
}
|
68
|
+
|
61
69
|
button {
|
62
70
|
font-size: 22px;
|
63
71
|
padding: 4px 8px;
|
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'digest/sha1'
|
2
|
+
require 'omniauth/core'
|
3
|
+
|
2
4
|
module OmniAuth
|
3
5
|
module Strategies
|
4
6
|
class Password
|
@@ -6,7 +8,6 @@ module OmniAuth
|
|
6
8
|
|
7
9
|
def initialize(app, secret = 'changethisappsecret', options = {})
|
8
10
|
@options = options
|
9
|
-
@options[:identifier_key] ||= 'nickname'
|
10
11
|
@secret = secret
|
11
12
|
super(app, :password)
|
12
13
|
end
|
@@ -16,7 +17,6 @@ module OmniAuth
|
|
16
17
|
def request_phase
|
17
18
|
return fail!(:missing_information) unless request[:identifier] && request[:password]
|
18
19
|
return fail!(:password_mismatch) if request[:password_confirmation] && request[:password_confirmation] != '' && request[:password] != request[:password_confirmation]
|
19
|
-
|
20
20
|
env['REQUEST_METHOD'] = 'GET'
|
21
21
|
env['PATH_INFO'] = request.path + '/callback'
|
22
22
|
request['auth'] = auth_hash(encrypt(request[:identifier], request[:password]))
|
data/lib/omniauth/strategy.rb
CHANGED
@@ -0,0 +1,12 @@
|
|
1
|
+
module OmniAuth
|
2
|
+
|
3
|
+
# Support for testing OmniAuth strategies.
|
4
|
+
module Test
|
5
|
+
|
6
|
+
autoload :PhonySession, 'omniauth/test/phony_session'
|
7
|
+
autoload :StrategyMacros, 'omniauth/test/strategy_macros'
|
8
|
+
autoload :StrategyTestCase, 'omniauth/test/strategy_test_case'
|
9
|
+
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module OmniAuth
|
2
|
+
|
3
|
+
module Test
|
4
|
+
|
5
|
+
module StrategyMacros
|
6
|
+
|
7
|
+
def sets_an_auth_hash
|
8
|
+
it 'should set an auth hash' do
|
9
|
+
last_request['auth'].should be_kind_of(Hash)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def sets_provider_to(provider)
|
14
|
+
it "should set the provider to #{provider}" do
|
15
|
+
(last_request['auth'] || {})['provider'].should == provider
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def sets_uid_to(uid)
|
20
|
+
it "should set the UID to #{uid}" do
|
21
|
+
(last_request['auth'] || {})['uid'].should == uid
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'rack'
|
2
|
+
require 'omniauth/test'
|
3
|
+
|
4
|
+
module OmniAuth
|
5
|
+
|
6
|
+
module Test
|
7
|
+
|
8
|
+
# Support for testing OmniAuth strategies. Usage:
|
9
|
+
#
|
10
|
+
# class MyStrategyTest < Test::Unit::TestCase
|
11
|
+
# include OmniAuth::Test::StrategyTestCase
|
12
|
+
# def strategy
|
13
|
+
# # return the parameters to a Rack::Builder map call:
|
14
|
+
# [MyStrategy.new, :some, :configuration, :options => 'here']
|
15
|
+
# end
|
16
|
+
# setup do
|
17
|
+
# post '/auth/my_strategy/callback', :user => { 'name' => 'Dylan', 'id' => '445' }
|
18
|
+
# end
|
19
|
+
# end
|
20
|
+
module StrategyTestCase
|
21
|
+
|
22
|
+
def app
|
23
|
+
strategy = self.strategy
|
24
|
+
Rack::Builder.new {
|
25
|
+
use OmniAuth::Test::PhonySession
|
26
|
+
use *strategy
|
27
|
+
run lambda { |env| [200, {'Content-Type' => 'text/plain'}, [Rack::Request.new(env).params.key?('auth').to_s]] }
|
28
|
+
}.to_app
|
29
|
+
end
|
30
|
+
|
31
|
+
def session
|
32
|
+
last_request.env['rack.session']
|
33
|
+
end
|
34
|
+
|
35
|
+
def strategy
|
36
|
+
raise NotImplementedError.new('Including specs must define #strategy')
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oa-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
9
|
+
- 4
|
10
|
+
version: 0.0.4
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Michael Bleigh
|
@@ -14,71 +15,118 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-08-16 00:00:00 -05:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
22
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 13
|
28
|
+
segments:
|
29
|
+
- 1
|
30
|
+
- 1
|
31
|
+
version: "1.1"
|
32
|
+
requirement: *id001
|
21
33
|
name: rack
|
22
34
|
prerelease: false
|
23
|
-
|
35
|
+
type: :runtime
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
24
39
|
requirements:
|
25
40
|
- - ">="
|
26
41
|
- !ruby/object:Gem::Version
|
42
|
+
hash: 3
|
27
43
|
segments:
|
28
44
|
- 0
|
29
45
|
version: "0"
|
30
|
-
|
31
|
-
|
32
|
-
- !ruby/object:Gem::Dependency
|
33
|
-
name: rspec
|
46
|
+
requirement: *id002
|
47
|
+
name: rake
|
34
48
|
prerelease: false
|
35
|
-
|
49
|
+
type: :development
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
36
53
|
requirements:
|
37
|
-
- -
|
54
|
+
- - ~>
|
38
55
|
- !ruby/object:Gem::Version
|
56
|
+
hash: 15
|
39
57
|
segments:
|
40
|
-
-
|
41
|
-
-
|
42
|
-
-
|
43
|
-
version:
|
58
|
+
- 0
|
59
|
+
- 0
|
60
|
+
- 8
|
61
|
+
version: 0.0.8
|
62
|
+
requirement: *id003
|
63
|
+
name: mg
|
64
|
+
prerelease: false
|
44
65
|
type: :development
|
45
|
-
version_requirements: *id002
|
46
66
|
- !ruby/object:Gem::Dependency
|
47
|
-
|
48
|
-
|
49
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
67
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
50
69
|
requirements:
|
51
|
-
- -
|
70
|
+
- - ~>
|
52
71
|
- !ruby/object:Gem::Version
|
72
|
+
hash: 27
|
53
73
|
segments:
|
74
|
+
- 1
|
75
|
+
- 3
|
54
76
|
- 0
|
55
|
-
version:
|
77
|
+
version: 1.3.0
|
78
|
+
requirement: *id004
|
79
|
+
name: rspec
|
80
|
+
prerelease: false
|
56
81
|
type: :development
|
57
|
-
version_requirements: *id003
|
58
82
|
- !ruby/object:Gem::Dependency
|
59
|
-
|
83
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ~>
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
hash: 19
|
89
|
+
segments:
|
90
|
+
- 1
|
91
|
+
- 3
|
92
|
+
- 4
|
93
|
+
version: 1.3.4
|
94
|
+
requirement: *id005
|
95
|
+
name: webmock
|
60
96
|
prerelease: false
|
61
|
-
|
97
|
+
type: :development
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
62
101
|
requirements:
|
63
|
-
- -
|
102
|
+
- - ~>
|
64
103
|
- !ruby/object:Gem::Version
|
104
|
+
hash: 3
|
65
105
|
segments:
|
66
106
|
- 0
|
67
|
-
|
107
|
+
- 5
|
108
|
+
- 4
|
109
|
+
version: 0.5.4
|
110
|
+
requirement: *id006
|
111
|
+
name: rack-test
|
112
|
+
prerelease: false
|
68
113
|
type: :development
|
69
|
-
version_requirements: *id004
|
70
114
|
- !ruby/object:Gem::Dependency
|
71
|
-
|
72
|
-
|
73
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
115
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
74
117
|
requirements:
|
75
|
-
- -
|
118
|
+
- - ~>
|
76
119
|
- !ruby/object:Gem::Version
|
120
|
+
hash: 1
|
77
121
|
segments:
|
78
|
-
-
|
79
|
-
|
122
|
+
- 1
|
123
|
+
- 4
|
124
|
+
- 3
|
125
|
+
version: 1.4.3
|
126
|
+
requirement: *id007
|
127
|
+
name: json
|
128
|
+
prerelease: false
|
80
129
|
type: :development
|
81
|
-
version_requirements: *id005
|
82
130
|
description: HTTP Basic strategies for OmniAuth.
|
83
131
|
email: michael@intridea.com
|
84
132
|
executables: []
|
@@ -91,10 +139,12 @@ files:
|
|
91
139
|
- lib/omniauth/builder.rb
|
92
140
|
- lib/omniauth/core.rb
|
93
141
|
- lib/omniauth/form.rb
|
94
|
-
- lib/omniauth/password.rb
|
95
142
|
- lib/omniauth/strategies/password.rb
|
96
143
|
- lib/omniauth/strategy.rb
|
97
|
-
-
|
144
|
+
- lib/omniauth/test/phony_session.rb
|
145
|
+
- lib/omniauth/test/strategy_macros.rb
|
146
|
+
- lib/omniauth/test/strategy_test_case.rb
|
147
|
+
- lib/omniauth/test.rb
|
98
148
|
- LICENSE.rdoc
|
99
149
|
- CHANGELOG.rdoc
|
100
150
|
has_rdoc: true
|
@@ -107,23 +157,27 @@ rdoc_options: []
|
|
107
157
|
require_paths:
|
108
158
|
- lib
|
109
159
|
required_ruby_version: !ruby/object:Gem::Requirement
|
160
|
+
none: false
|
110
161
|
requirements:
|
111
162
|
- - ">="
|
112
163
|
- !ruby/object:Gem::Version
|
164
|
+
hash: 3
|
113
165
|
segments:
|
114
166
|
- 0
|
115
167
|
version: "0"
|
116
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
117
170
|
requirements:
|
118
171
|
- - ">="
|
119
172
|
- !ruby/object:Gem::Version
|
173
|
+
hash: 3
|
120
174
|
segments:
|
121
175
|
- 0
|
122
176
|
version: "0"
|
123
177
|
requirements: []
|
124
178
|
|
125
179
|
rubyforge_project:
|
126
|
-
rubygems_version: 1.3.
|
180
|
+
rubygems_version: 1.3.7
|
127
181
|
signing_key:
|
128
182
|
specification_version: 3
|
129
183
|
summary: HTTP Basic strategies for OmniAuth.
|
data/README.rdoc
DELETED
File without changes
|
data/lib/omniauth/password.rb
DELETED