omniauth-angellist 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.
- checksums.yaml +7 -0
- data/lib/omniauth/strategies/angellist.rb +28 -6
- data/lib/omniauth-angellist/version.rb +1 -1
- data/omniauth-angellist.gemspec +1 -2
- data/spec/omniauth/strategies/angellist_spec.rb +38 -5
- metadata +13 -42
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6d530ade385dc3df172a2f9a83e5ff72c7d46402
|
4
|
+
data.tar.gz: 8ebce9e696ee72b5341176a953eed15635d1bdd3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e3edfac6c3e87c3a691746ed0a8a010037981e748284f6d826d33e7686bd91f94211719c2b16aa98890ef62e71bed319fb3472b4a5e77159867b568ae728fd12
|
7
|
+
data.tar.gz: 1a33d45dec6714fe2e2c8621b2a9883b3a2de32027dabde5ca8debcd041780be3751405a8df1f25b4207ae7ee6cd0f70f5c8fa46803489c1e60c54da8a649c78
|
@@ -1,13 +1,21 @@
|
|
1
|
-
require 'omniauth
|
1
|
+
require 'omniauth/strategies/oauth2'
|
2
2
|
|
3
3
|
module OmniAuth
|
4
4
|
module Strategies
|
5
5
|
class AngelList < OmniAuth::Strategies::OAuth2
|
6
|
+
DEFAULT_SCOPE = 'email'
|
7
|
+
|
6
8
|
option :client_options, {
|
7
9
|
:site => 'https://angel.co/',
|
8
10
|
:authorize_url => 'https://angel.co/api/oauth/authorize',
|
9
11
|
:token_url => 'https://angel.co/api/oauth/token'
|
10
12
|
}
|
13
|
+
|
14
|
+
option :access_token_options, {
|
15
|
+
:mode => :qury,
|
16
|
+
:header_format => 'OAuth %s'
|
17
|
+
}
|
18
|
+
|
11
19
|
option :provider_ignores_state, true
|
12
20
|
|
13
21
|
def request_phase
|
@@ -27,18 +35,32 @@ module OmniAuth
|
|
27
35
|
"facebook_url" => raw_info["facebook_url"],
|
28
36
|
"linkedin_url" => raw_info["linkedin_url"],
|
29
37
|
"follower_count" => raw_info["follower_count"],
|
30
|
-
"
|
31
|
-
"image" => raw_info["image"],
|
38
|
+
"investor" => raw_info["investor"],
|
32
39
|
"locations" => raw_info["locations"],
|
33
|
-
"roles" => raw_info["roles"]
|
40
|
+
"roles" => raw_info["roles"],
|
41
|
+
"angellist_url" => raw_info["angellist_url"],
|
42
|
+
"image" => raw_info["image"]
|
34
43
|
}
|
35
44
|
end
|
36
45
|
|
37
46
|
def raw_info
|
38
|
-
access_token.options[:mode] = :query
|
39
|
-
(access_token.options || {}).merge!({:header_format => 'OAuth %s'})
|
40
47
|
@raw_info ||= access_token.get('https://api.angel.co/1/me').parsed
|
41
48
|
end
|
49
|
+
|
50
|
+
def authorize_params
|
51
|
+
super.tap do |params|
|
52
|
+
%w[scope state].each do |v|
|
53
|
+
if request.params[v]
|
54
|
+
params[v.to_sym] = request.params[v]
|
55
|
+
|
56
|
+
# to support omniauth-oauth2's auto csrf protection
|
57
|
+
session['omniauth.state'] = params[:state] if v == 'state'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
params[:scope] ||= DEFAULT_SCOPE
|
62
|
+
end
|
63
|
+
end
|
42
64
|
end
|
43
65
|
end
|
44
66
|
end
|
data/omniauth-angellist.gemspec
CHANGED
@@ -18,8 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.
|
22
|
-
s.add_dependency 'omniauth-oauth2', '~> 1.1'
|
21
|
+
s.add_runtime_dependency 'omniauth-oauth2', '~> 1.1'
|
23
22
|
s.add_development_dependency 'rspec', '~> 2.7'
|
24
23
|
s.add_development_dependency 'rack-test'
|
25
24
|
s.add_development_dependency 'simplecov'
|
@@ -5,6 +5,8 @@ describe OmniAuth::Strategies::AngelList do
|
|
5
5
|
before :each do
|
6
6
|
@request = double('Request')
|
7
7
|
@request.stub(:params) { {} }
|
8
|
+
@client_id = '123'
|
9
|
+
@client_secret = 'afalsf'
|
8
10
|
end
|
9
11
|
|
10
12
|
subject do
|
@@ -34,8 +36,30 @@ describe OmniAuth::Strategies::AngelList do
|
|
34
36
|
before :each do
|
35
37
|
@raw_info = {
|
36
38
|
'name' => 'Sebastian Rabuini',
|
39
|
+
'email' => 'sebas@wasabit.com.ar',
|
37
40
|
'bio' => 'Sebas',
|
38
|
-
'
|
41
|
+
'blog_url' => 'sebas_blog',
|
42
|
+
'online_bio_url' => 'http://wasabitlabs.com',
|
43
|
+
'twitter_url' => 'http://twitter.com/#!/sebasr',
|
44
|
+
'facebook_url' => 'http://www.facebook.com/sebastian.rabuini',
|
45
|
+
'linkedin_url' => 'http://www.linkedin.com/in/srabuini',
|
46
|
+
'follower_count' => 6,
|
47
|
+
'investor' => false,
|
48
|
+
'locations' => [
|
49
|
+
{'id' => 1963, 'tag_type' => 'LocationTag', 'name' => 'buenos aires',
|
50
|
+
'display_name' => 'Buenos Aires',
|
51
|
+
'angellist_url' => 'https://angel.co/buenos-aires'}
|
52
|
+
],
|
53
|
+
'roles' => [
|
54
|
+
{'id' => 14726, 'tag_type' => 'RoleTag', 'name' => 'developer',
|
55
|
+
'display_name' => 'Developer',
|
56
|
+
'angellist_url' => 'https://angel.co/developer'},
|
57
|
+
{'id' => 14725, 'tag_type' => 'RoleTag', 'name' => 'entrepreneur',
|
58
|
+
'display_name' => 'Entrepreneur',
|
59
|
+
'angellist_url' => 'https://angel.co/entrepreneur-1'}
|
60
|
+
],
|
61
|
+
'angellist_url' => 'https://angel.co/sebasr',
|
62
|
+
'image' => 'https://s3.amazonaws.com/photos.angel.co/users/90585-medium_jpg?1327684569'
|
39
63
|
}
|
40
64
|
subject.stub(:raw_info) { @raw_info }
|
41
65
|
end
|
@@ -50,15 +74,24 @@ describe OmniAuth::Strategies::AngelList do
|
|
50
74
|
end
|
51
75
|
|
52
76
|
it 'returns the image' do
|
53
|
-
subject.info['image'].should eq('
|
77
|
+
subject.info['image'].should eq(@raw_info['image'])
|
54
78
|
end
|
55
79
|
|
56
|
-
it "
|
57
|
-
|
58
|
-
subject.info['email'].should be_nil
|
80
|
+
it "return the email" do
|
81
|
+
subject.info['email'].should eq('sebas@wasabit.com.ar')
|
59
82
|
end
|
60
83
|
end
|
61
84
|
end
|
85
|
+
|
86
|
+
describe '#authorize_params' do
|
87
|
+
before :each do
|
88
|
+
subject.stub(:session => {})
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'includes default scope for email' do
|
92
|
+
subject.authorize_params['scope'].should eq('email')
|
93
|
+
end
|
94
|
+
end
|
62
95
|
|
63
96
|
describe '#credentials' do
|
64
97
|
before :each do
|
metadata
CHANGED
@@ -1,36 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-angellist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Sebastian Rabuini
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-06-23 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: omniauth
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '1.0'
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '1.0'
|
30
13
|
- !ruby/object:Gem::Dependency
|
31
14
|
name: omniauth-oauth2
|
32
15
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
16
|
requirements:
|
35
17
|
- - ~>
|
36
18
|
- !ruby/object:Gem::Version
|
@@ -38,7 +20,6 @@ dependencies:
|
|
38
20
|
type: :runtime
|
39
21
|
prerelease: false
|
40
22
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
23
|
requirements:
|
43
24
|
- - ~>
|
44
25
|
- !ruby/object:Gem::Version
|
@@ -46,7 +27,6 @@ dependencies:
|
|
46
27
|
- !ruby/object:Gem::Dependency
|
47
28
|
name: rspec
|
48
29
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
30
|
requirements:
|
51
31
|
- - ~>
|
52
32
|
- !ruby/object:Gem::Version
|
@@ -54,7 +34,6 @@ dependencies:
|
|
54
34
|
type: :development
|
55
35
|
prerelease: false
|
56
36
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
37
|
requirements:
|
59
38
|
- - ~>
|
60
39
|
- !ruby/object:Gem::Version
|
@@ -62,49 +41,43 @@ dependencies:
|
|
62
41
|
- !ruby/object:Gem::Dependency
|
63
42
|
name: rack-test
|
64
43
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
44
|
requirements:
|
67
|
-
- -
|
45
|
+
- - '>='
|
68
46
|
- !ruby/object:Gem::Version
|
69
47
|
version: '0'
|
70
48
|
type: :development
|
71
49
|
prerelease: false
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
51
|
requirements:
|
75
|
-
- -
|
52
|
+
- - '>='
|
76
53
|
- !ruby/object:Gem::Version
|
77
54
|
version: '0'
|
78
55
|
- !ruby/object:Gem::Dependency
|
79
56
|
name: simplecov
|
80
57
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
58
|
requirements:
|
83
|
-
- -
|
59
|
+
- - '>='
|
84
60
|
- !ruby/object:Gem::Version
|
85
61
|
version: '0'
|
86
62
|
type: :development
|
87
63
|
prerelease: false
|
88
64
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
65
|
requirements:
|
91
|
-
- -
|
66
|
+
- - '>='
|
92
67
|
- !ruby/object:Gem::Version
|
93
68
|
version: '0'
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
70
|
name: webmock
|
96
71
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
72
|
requirements:
|
99
|
-
- -
|
73
|
+
- - '>='
|
100
74
|
- !ruby/object:Gem::Version
|
101
75
|
version: '0'
|
102
76
|
type: :development
|
103
77
|
prerelease: false
|
104
78
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
79
|
requirements:
|
107
|
-
- -
|
80
|
+
- - '>='
|
108
81
|
- !ruby/object:Gem::Version
|
109
82
|
version: '0'
|
110
83
|
description: AngelList OAuth strategy for OmniAuth
|
@@ -127,30 +100,28 @@ files:
|
|
127
100
|
- spec/support/shared_examples.rb
|
128
101
|
homepage: https://github.com/wasabit/omniauth-angellist
|
129
102
|
licenses: []
|
103
|
+
metadata: {}
|
130
104
|
post_install_message:
|
131
105
|
rdoc_options: []
|
132
106
|
require_paths:
|
133
107
|
- lib
|
134
108
|
required_ruby_version: !ruby/object:Gem::Requirement
|
135
|
-
none: false
|
136
109
|
requirements:
|
137
|
-
- -
|
110
|
+
- - '>='
|
138
111
|
- !ruby/object:Gem::Version
|
139
112
|
version: '0'
|
140
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
|
-
none: false
|
142
114
|
requirements:
|
143
|
-
- -
|
115
|
+
- - '>='
|
144
116
|
- !ruby/object:Gem::Version
|
145
117
|
version: '0'
|
146
118
|
requirements: []
|
147
119
|
rubyforge_project: omniauth-angellist
|
148
|
-
rubygems_version:
|
120
|
+
rubygems_version: 2.0.3
|
149
121
|
signing_key:
|
150
|
-
specification_version:
|
122
|
+
specification_version: 4
|
151
123
|
summary: AngelList OAuth strategy for OmniAuth
|
152
124
|
test_files:
|
153
125
|
- spec/omniauth/strategies/angellist_spec.rb
|
154
126
|
- spec/spec_helper.rb
|
155
127
|
- spec/support/shared_examples.rb
|
156
|
-
has_rdoc:
|