warden-github 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +3 -21
- data/lib/warden-github/proxy.rb +2 -2
- data/lib/warden-github/strategy.rb +1 -1
- data/lib/warden-github/version.rb +1 -1
- data/spec/app.rb +6 -2
- data/spec/oauth_spec.rb +1 -1
- data/spec/spec_helper.rb +2 -0
- data/warden-github.gemspec +3 -1
- metadata +53 -24
data/Gemfile
CHANGED
@@ -1,24 +1,6 @@
|
|
1
|
-
source
|
1
|
+
source :rubygems
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
gem 'oauth2', '~>0.4.1'
|
6
|
-
gem 'json', '>=1.0.0'
|
7
|
-
end
|
8
|
-
|
9
|
-
group :test do
|
10
|
-
gem 'rake'
|
11
|
-
gem 'rspec', '~>1.3.0', :require => 'spec'
|
12
|
-
gem 'rcov'
|
13
|
-
gem 'sinatra', '~>1.0', :require => 'sinatra/base'
|
14
|
-
gem 'shotgun'
|
15
|
-
gem 'webrat', '~>0.7.0'
|
16
|
-
gem 'bundler', '~>1.0'
|
17
|
-
gem 'randexp', '>=0.1.4'
|
18
|
-
gem 'ruby-debug19', :platforms => :ruby_19
|
19
|
-
gem 'ruby-debug', :platforms => :ruby_18
|
20
|
-
gem 'addressable', '~>2.2.0', :require => 'addressable/uri'
|
21
|
-
gem 'rack-test', '~>0.5.3', :require => 'rack/test'
|
22
|
-
end
|
3
|
+
# Specify your gem's dependencies in failbot.gemspec
|
4
|
+
gemspec
|
23
5
|
|
24
6
|
# vim:ft=ruby
|
data/lib/warden-github/proxy.rb
CHANGED
@@ -25,7 +25,7 @@ module Warden
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def access_token_for(code)
|
28
|
-
web_server.
|
28
|
+
web_server.get_token(code, :redirect_uri => callback_url)
|
29
29
|
end
|
30
30
|
|
31
31
|
def authorize_url
|
@@ -36,7 +36,7 @@ module Warden
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def web_server
|
39
|
-
client.
|
39
|
+
client.auth_code
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
@@ -11,7 +11,7 @@ Warden::Strategies.add(:github) do
|
|
11
11
|
access_token = access_token_for(params['code'])
|
12
12
|
user = JSON.parse(access_token.get('/api/v2/json/user/show'))
|
13
13
|
success!(Warden::Github::Oauth::User.new(user['user'], access_token.token))
|
14
|
-
rescue OAuth2::
|
14
|
+
rescue OAuth2::Error
|
15
15
|
%(<p>Outdated ?code=#{params['code']}:</p><p>#{$!}</p><p><a href="/auth/github">Retry</a></p>)
|
16
16
|
end
|
17
17
|
else
|
data/spec/app.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
+
require 'sinatra'
|
2
|
+
|
1
3
|
module Example
|
2
4
|
class App < Sinatra::Base
|
3
|
-
|
5
|
+
use Rack::Session::Cookie, :key => 'rack.session',
|
6
|
+
:secret => 'warden-github-auth',
|
7
|
+
:expire_after => 2592000
|
4
8
|
enable :raise_errors
|
5
9
|
disable :show_exceptions
|
6
10
|
|
@@ -11,7 +15,7 @@ module Example
|
|
11
15
|
manager[:github_client_id] = ENV['GITHUB_CLIENT_ID'] || 'ee9aa24b64d82c21535a'
|
12
16
|
manager[:github_secret] = ENV['GITHUB_CLIENT_SECRET'] || 'ed8ff0c54067aefb808dab1ca265865405d08d6f'
|
13
17
|
|
14
|
-
manager[:github_scopes] = '
|
18
|
+
manager[:github_scopes] = ''
|
15
19
|
manager[:github_callback_url] = '/auth/github/callback'
|
16
20
|
end
|
17
21
|
|
data/spec/oauth_spec.rb
CHANGED
@@ -11,7 +11,7 @@ describe "Warden::Github" do
|
|
11
11
|
|
12
12
|
params = uri.query_values
|
13
13
|
params['response_type'].should eql('code')
|
14
|
-
params['scope'].should eql('
|
14
|
+
params['scope'].should eql('')
|
15
15
|
params['client_id'].should match(/\w{20}/)
|
16
16
|
params['redirect_uri'].should eql('http://example.org/auth/github/callback')
|
17
17
|
end
|
data/spec/spec_helper.rb
CHANGED
data/warden-github.gemspec
CHANGED
@@ -19,10 +19,12 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.add_dependency "warden", "~>1.0.4"
|
20
20
|
s.add_dependency "oauth2", "~>0.5.2"
|
21
21
|
|
22
|
+
s.add_development_dependency "rack", "~>1.3.0"
|
22
23
|
s.add_development_dependency "rake"
|
23
24
|
s.add_development_dependency "rspec", "~>1.3.0"
|
25
|
+
s.add_development_dependency "webrat"
|
26
|
+
s.add_development_dependency "sinatra"
|
24
27
|
s.add_development_dependency "shotgun"
|
25
|
-
s.add_development_dependency "bundler", "~>1.0"
|
26
28
|
s.add_development_dependency "addressable", "~>2.2.0"
|
27
29
|
s.add_development_dependency "rack-test", "~>0.5.3"
|
28
30
|
s.add_development_dependency "ruby-debug"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: warden-github
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 1
|
10
|
+
version: 0.2.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Corey Donohoe
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-01-
|
18
|
+
date: 2012-01-07 00:00:00 -08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -66,9 +66,25 @@ dependencies:
|
|
66
66
|
type: :runtime
|
67
67
|
version_requirements: *id003
|
68
68
|
- !ruby/object:Gem::Dependency
|
69
|
-
name:
|
69
|
+
name: rack
|
70
70
|
prerelease: false
|
71
71
|
requirement: &id004 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
hash: 27
|
77
|
+
segments:
|
78
|
+
- 1
|
79
|
+
- 3
|
80
|
+
- 0
|
81
|
+
version: 1.3.0
|
82
|
+
type: :development
|
83
|
+
version_requirements: *id004
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rake
|
86
|
+
prerelease: false
|
87
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
72
88
|
none: false
|
73
89
|
requirements:
|
74
90
|
- - ">="
|
@@ -78,11 +94,11 @@ dependencies:
|
|
78
94
|
- 0
|
79
95
|
version: "0"
|
80
96
|
type: :development
|
81
|
-
version_requirements: *
|
97
|
+
version_requirements: *id005
|
82
98
|
- !ruby/object:Gem::Dependency
|
83
99
|
name: rspec
|
84
100
|
prerelease: false
|
85
|
-
requirement: &
|
101
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
86
102
|
none: false
|
87
103
|
requirements:
|
88
104
|
- - ~>
|
@@ -94,11 +110,11 @@ dependencies:
|
|
94
110
|
- 0
|
95
111
|
version: 1.3.0
|
96
112
|
type: :development
|
97
|
-
version_requirements: *
|
113
|
+
version_requirements: *id006
|
98
114
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
115
|
+
name: webrat
|
100
116
|
prerelease: false
|
101
|
-
requirement: &
|
117
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
102
118
|
none: false
|
103
119
|
requirements:
|
104
120
|
- - ">="
|
@@ -108,26 +124,39 @@ dependencies:
|
|
108
124
|
- 0
|
109
125
|
version: "0"
|
110
126
|
type: :development
|
111
|
-
version_requirements: *
|
127
|
+
version_requirements: *id007
|
112
128
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
129
|
+
name: sinatra
|
114
130
|
prerelease: false
|
115
|
-
requirement: &
|
131
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
116
132
|
none: false
|
117
133
|
requirements:
|
118
|
-
- -
|
134
|
+
- - ">="
|
119
135
|
- !ruby/object:Gem::Version
|
120
|
-
hash:
|
136
|
+
hash: 3
|
121
137
|
segments:
|
122
|
-
- 1
|
123
138
|
- 0
|
124
|
-
version: "
|
139
|
+
version: "0"
|
125
140
|
type: :development
|
126
|
-
version_requirements: *
|
141
|
+
version_requirements: *id008
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: shotgun
|
144
|
+
prerelease: false
|
145
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
146
|
+
none: false
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
hash: 3
|
151
|
+
segments:
|
152
|
+
- 0
|
153
|
+
version: "0"
|
154
|
+
type: :development
|
155
|
+
version_requirements: *id009
|
127
156
|
- !ruby/object:Gem::Dependency
|
128
157
|
name: addressable
|
129
158
|
prerelease: false
|
130
|
-
requirement: &
|
159
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
131
160
|
none: false
|
132
161
|
requirements:
|
133
162
|
- - ~>
|
@@ -139,11 +168,11 @@ dependencies:
|
|
139
168
|
- 0
|
140
169
|
version: 2.2.0
|
141
170
|
type: :development
|
142
|
-
version_requirements: *
|
171
|
+
version_requirements: *id010
|
143
172
|
- !ruby/object:Gem::Dependency
|
144
173
|
name: rack-test
|
145
174
|
prerelease: false
|
146
|
-
requirement: &
|
175
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
147
176
|
none: false
|
148
177
|
requirements:
|
149
178
|
- - ~>
|
@@ -155,11 +184,11 @@ dependencies:
|
|
155
184
|
- 3
|
156
185
|
version: 0.5.3
|
157
186
|
type: :development
|
158
|
-
version_requirements: *
|
187
|
+
version_requirements: *id011
|
159
188
|
- !ruby/object:Gem::Dependency
|
160
189
|
name: ruby-debug
|
161
190
|
prerelease: false
|
162
|
-
requirement: &
|
191
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
163
192
|
none: false
|
164
193
|
requirements:
|
165
194
|
- - ">="
|
@@ -169,7 +198,7 @@ dependencies:
|
|
169
198
|
- 0
|
170
199
|
version: "0"
|
171
200
|
type: :development
|
172
|
-
version_requirements: *
|
201
|
+
version_requirements: *id012
|
173
202
|
description: A warden strategy for easy oauth integration with github
|
174
203
|
email:
|
175
204
|
- atmos@atmos.org
|