oauth2 0.8.1 → 0.9.0
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.tar.gz.sig +3 -0
- data/CONTRIBUTING.md +15 -0
- data/README.md +7 -23
- data/lib/oauth2/access_token.rb +12 -5
- data/lib/oauth2/client.rb +3 -2
- data/lib/oauth2/version.rb +2 -2
- data/oauth2.gemspec +28 -25
- data/spec/helper.rb +7 -0
- data/spec/oauth2/access_token_spec.rb +59 -53
- data/spec/oauth2/client_spec.rb +50 -50
- data/spec/oauth2/response_spec.rb +24 -24
- data/spec/oauth2/strategy/assertion_spec.rb +10 -10
- data/spec/oauth2/strategy/auth_code_spec.rb +19 -19
- data/spec/oauth2/strategy/base_spec.rb +2 -2
- data/spec/oauth2/strategy/client_credentials_spec.rb +12 -12
- data/spec/oauth2/strategy/implicit_spec.rb +9 -9
- data/spec/oauth2/strategy/password_spec.rb +12 -12
- metadata +148 -182
- metadata.gz.sig +3 -0
- data/.gemtest +0 -0
- data/.gitignore +0 -35
- data/.rspec +0 -2
- data/.travis.yml +0 -13
- data/Gemfile +0 -3
@@ -1,23 +1,23 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
3
|
describe OAuth2::Response do
|
4
|
-
describe
|
4
|
+
describe "#initialize" do
|
5
5
|
let(:status) {200}
|
6
6
|
let(:headers) {{'foo' => 'bar'}}
|
7
7
|
let(:body) {'foo'}
|
8
8
|
|
9
|
-
it
|
9
|
+
it "returns the status, headers and body" do
|
10
10
|
response = double('response', :headers => headers,
|
11
11
|
:status => status,
|
12
12
|
:body => body)
|
13
13
|
subject = Response.new(response)
|
14
|
-
subject.headers.
|
15
|
-
subject.status.
|
16
|
-
subject.body.
|
14
|
+
expect(subject.headers).to eq(headers)
|
15
|
+
expect(subject.status).to eq(status)
|
16
|
+
expect(subject.body).to eq(body)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
describe
|
20
|
+
describe ".register_parser" do
|
21
21
|
let(:response) {
|
22
22
|
double('response', :headers => {'Content-Type' => 'application/foo-bar'},
|
23
23
|
:status => 200,
|
@@ -29,25 +29,25 @@ describe OAuth2::Response do
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
it
|
33
|
-
OAuth2::Response::PARSERS.keys.
|
34
|
-
OAuth2::Response::CONTENT_TYPES.keys.
|
32
|
+
it "adds to the content types and parsers" do
|
33
|
+
expect(OAuth2::Response::PARSERS.keys).to include(:foobar)
|
34
|
+
expect(OAuth2::Response::CONTENT_TYPES.keys).to include('application/foo-bar')
|
35
35
|
end
|
36
36
|
|
37
|
-
it
|
38
|
-
OAuth2::Response.new(response).parsed.
|
37
|
+
it "is able to parse that content type automatically" do
|
38
|
+
expect(OAuth2::Response.new(response).parsed).to eq('foobar baz')
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
describe
|
42
|
+
describe "#parsed" do
|
43
43
|
it "parses application/x-www-form-urlencoded body" do
|
44
44
|
headers = {'Content-Type' => 'application/x-www-form-urlencoded'}
|
45
45
|
body = 'foo=bar&answer=42'
|
46
46
|
response = double('response', :headers => headers, :body => body)
|
47
47
|
subject = Response.new(response)
|
48
|
-
subject.parsed.keys.size.
|
49
|
-
subject.parsed['foo'].
|
50
|
-
subject.parsed['answer'].
|
48
|
+
expect(subject.parsed.keys.size).to eq(2)
|
49
|
+
expect(subject.parsed['foo']).to eq('bar')
|
50
|
+
expect(subject.parsed['answer']).to eq('42')
|
51
51
|
end
|
52
52
|
|
53
53
|
it "parses application/json body" do
|
@@ -55,9 +55,9 @@ describe OAuth2::Response do
|
|
55
55
|
body = MultiJson.encode(:foo => 'bar', :answer => 42)
|
56
56
|
response = double('response', :headers => headers, :body => body)
|
57
57
|
subject = Response.new(response)
|
58
|
-
subject.parsed.keys.size.
|
59
|
-
subject.parsed['foo'].
|
60
|
-
subject.parsed['answer'].
|
58
|
+
expect(subject.parsed.keys.size).to eq(2)
|
59
|
+
expect(subject.parsed['foo']).to eq('bar')
|
60
|
+
expect(subject.parsed['answer']).to eq(42)
|
61
61
|
end
|
62
62
|
|
63
63
|
it "doesn't try to parse other content-types" do
|
@@ -71,21 +71,21 @@ describe OAuth2::Response do
|
|
71
71
|
Rack::Utils.should_not_receive(:parse_query)
|
72
72
|
|
73
73
|
subject = Response.new(response)
|
74
|
-
subject.parsed.
|
74
|
+
expect(subject.parsed).to be_nil
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
-
context
|
79
|
-
it
|
80
|
-
OAuth2::Response::PARSERS[:xml].
|
78
|
+
context "xml parser registration" do
|
79
|
+
it "tries to load multi_xml and use it" do
|
80
|
+
expect(OAuth2::Response::PARSERS[:xml]).not_to be_nil
|
81
81
|
end
|
82
82
|
|
83
|
-
it
|
83
|
+
it "is able to parse xml" do
|
84
84
|
headers = {'Content-Type' => 'text/xml'}
|
85
85
|
body = '<?xml version="1.0" standalone="yes" ?><foo><bar>baz</bar></foo>'
|
86
86
|
|
87
87
|
response = double('response', :headers => headers, :body => body)
|
88
|
-
OAuth2::Response.new(response).parsed.
|
88
|
+
expect(OAuth2::Response.new(response).parsed).to eq({"foo" => {"bar" => "baz"}})
|
89
89
|
end
|
90
90
|
end
|
91
91
|
end
|
@@ -23,8 +23,8 @@ describe OAuth2::Strategy::Assertion do
|
|
23
23
|
subject {client.assertion}
|
24
24
|
|
25
25
|
describe "#authorize_url" do
|
26
|
-
it "
|
27
|
-
|
26
|
+
it "raises NotImplementedError" do
|
27
|
+
expect{subject.authorize_url}.to raise_error(NotImplementedError)
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -35,20 +35,20 @@ describe OAuth2::Strategy::Assertion do
|
|
35
35
|
@access = subject.get_token(params)
|
36
36
|
end
|
37
37
|
|
38
|
-
it
|
39
|
-
@access.client.
|
38
|
+
it "returns AccessToken with same Client" do
|
39
|
+
expect(@access.client).to eq(client)
|
40
40
|
end
|
41
41
|
|
42
|
-
it
|
43
|
-
@access.token.
|
42
|
+
it "returns AccessToken with #token" do
|
43
|
+
expect(@access.token).to eq('salmon')
|
44
44
|
end
|
45
45
|
|
46
|
-
it
|
47
|
-
@access.expires_in.
|
46
|
+
it "returns AccessToken with #expires_in" do
|
47
|
+
expect(@access.expires_in).to eq(600)
|
48
48
|
end
|
49
49
|
|
50
|
-
it
|
51
|
-
@access.expires_at.
|
50
|
+
it "returns AccessToken with #expires_at" do
|
51
|
+
expect(@access.expires_at).not_to be_nil
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
@@ -35,18 +35,18 @@ describe OAuth2::Strategy::AuthCode do
|
|
35
35
|
|
36
36
|
subject {client.auth_code}
|
37
37
|
|
38
|
-
describe
|
39
|
-
it
|
40
|
-
subject.authorize_url.
|
38
|
+
describe "#authorize_url" do
|
39
|
+
it "includes the client_id" do
|
40
|
+
expect(subject.authorize_url).to include('client_id=abc')
|
41
41
|
end
|
42
42
|
|
43
|
-
it
|
44
|
-
subject.authorize_url.
|
43
|
+
it "includes the type" do
|
44
|
+
expect(subject.authorize_url).to include('response_type=code')
|
45
45
|
end
|
46
46
|
|
47
|
-
it
|
47
|
+
it "includes passed in options" do
|
48
48
|
cb = 'http://myserver.local/oauth/callback'
|
49
|
-
subject.authorize_url(:redirect_uri => cb).
|
49
|
+
expect(subject.authorize_url(:redirect_uri => cb)).to include("redirect_uri=#{Rack::Utils.escape(cb)}")
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
@@ -59,28 +59,28 @@ describe OAuth2::Strategy::AuthCode do
|
|
59
59
|
@access = subject.get_token(code)
|
60
60
|
end
|
61
61
|
|
62
|
-
it
|
63
|
-
@access.client.
|
62
|
+
it "returns AccessToken with same Client" do
|
63
|
+
expect(@access.client).to eq(client)
|
64
64
|
end
|
65
65
|
|
66
|
-
it
|
67
|
-
@access.token.
|
66
|
+
it "returns AccessToken with #token" do
|
67
|
+
expect(@access.token).to eq('salmon')
|
68
68
|
end
|
69
69
|
|
70
|
-
it
|
71
|
-
@access.refresh_token.
|
70
|
+
it "returns AccessToken with #refresh_token" do
|
71
|
+
expect(@access.refresh_token).to eq('trout')
|
72
72
|
end
|
73
73
|
|
74
|
-
it
|
75
|
-
@access.expires_in.
|
74
|
+
it "returns AccessToken with #expires_in" do
|
75
|
+
expect(@access.expires_in).to eq(600)
|
76
76
|
end
|
77
77
|
|
78
|
-
it
|
79
|
-
@access.expires_at.
|
78
|
+
it "returns AccessToken with #expires_at" do
|
79
|
+
expect(@access.expires_at).to be_kind_of(Integer)
|
80
80
|
end
|
81
81
|
|
82
|
-
it
|
83
|
-
@access['extra_param'].
|
82
|
+
it "returns AccessToken with params accessible via []" do
|
83
|
+
expect(@access['extra_param']).to eq('steve')
|
84
84
|
end
|
85
85
|
end
|
86
86
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
3
|
describe OAuth2::Strategy::Base do
|
4
|
-
it
|
5
|
-
|
4
|
+
it "initializes with a Client" do
|
5
|
+
expect{OAuth2::Strategy::Base.new(OAuth2::Client.new('abc', 'def'))}.not_to raise_error
|
6
6
|
end
|
7
7
|
end
|
@@ -32,8 +32,8 @@ describe OAuth2::Strategy::ClientCredentials do
|
|
32
32
|
subject {client.client_credentials}
|
33
33
|
|
34
34
|
describe "#authorize_url" do
|
35
|
-
it "
|
36
|
-
|
35
|
+
it "raises NotImplementedError" do
|
36
|
+
expect{subject.authorize_url}.to raise_error(NotImplementedError)
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -45,24 +45,24 @@ describe OAuth2::Strategy::ClientCredentials do
|
|
45
45
|
@access = subject.get_token({}, auth_scheme == 'default' ? {} : {'auth_scheme' => auth_scheme})
|
46
46
|
end
|
47
47
|
|
48
|
-
it
|
49
|
-
@access.client.
|
48
|
+
it "returns AccessToken with same Client" do
|
49
|
+
expect(@access.client).to eq(client)
|
50
50
|
end
|
51
51
|
|
52
|
-
it
|
53
|
-
@access.token.
|
52
|
+
it "returns AccessToken with #token" do
|
53
|
+
expect(@access.token).to eq('salmon')
|
54
54
|
end
|
55
55
|
|
56
|
-
it
|
57
|
-
@access.refresh_token.
|
56
|
+
it "returns AccessToken without #refresh_token" do
|
57
|
+
expect(@access.refresh_token).to be_nil
|
58
58
|
end
|
59
59
|
|
60
|
-
it
|
61
|
-
@access.expires_in.
|
60
|
+
it "returns AccessToken with #expires_in" do
|
61
|
+
expect(@access.expires_in).to eq(600)
|
62
62
|
end
|
63
63
|
|
64
|
-
it
|
65
|
-
@access.expires_at.
|
64
|
+
it "returns AccessToken with #expires_at" do
|
65
|
+
expect(@access.expires_at).not_to be_nil
|
66
66
|
end
|
67
67
|
end
|
68
68
|
end
|
@@ -5,24 +5,24 @@ describe OAuth2::Strategy::Implicit do
|
|
5
5
|
|
6
6
|
subject {client.implicit}
|
7
7
|
|
8
|
-
describe
|
9
|
-
it
|
10
|
-
subject.authorize_url.
|
8
|
+
describe "#authorize_url" do
|
9
|
+
it "includes the client_id" do
|
10
|
+
expect(subject.authorize_url).to include('client_id=abc')
|
11
11
|
end
|
12
12
|
|
13
|
-
it
|
14
|
-
subject.authorize_url.
|
13
|
+
it "includes the type" do
|
14
|
+
expect(subject.authorize_url).to include('response_type=token')
|
15
15
|
end
|
16
16
|
|
17
|
-
it
|
17
|
+
it "includes passed in options" do
|
18
18
|
cb = 'http://myserver.local/oauth/callback'
|
19
|
-
subject.authorize_url(:redirect_uri => cb).
|
19
|
+
expect(subject.authorize_url(:redirect_uri => cb)).to include("redirect_uri=#{Rack::Utils.escape(cb)}")
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
23
|
describe "#get_token" do
|
24
|
-
it "
|
25
|
-
|
24
|
+
it "raises NotImplementedError" do
|
25
|
+
expect{subject.get_token}.to raise_error(NotImplementedError)
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -20,8 +20,8 @@ describe OAuth2::Strategy::Password do
|
|
20
20
|
subject {client.password}
|
21
21
|
|
22
22
|
describe "#authorize_url" do
|
23
|
-
it "
|
24
|
-
|
23
|
+
it "raises NotImplementedError" do
|
24
|
+
expect{subject.authorize_url}.to raise_error(NotImplementedError)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -32,24 +32,24 @@ describe OAuth2::Strategy::Password do
|
|
32
32
|
@access = subject.get_token('username', 'password')
|
33
33
|
end
|
34
34
|
|
35
|
-
it
|
36
|
-
@access.client.
|
35
|
+
it "returns AccessToken with same Client" do
|
36
|
+
expect(@access.client).to eq(client)
|
37
37
|
end
|
38
38
|
|
39
|
-
it
|
40
|
-
@access.token.
|
39
|
+
it "returns AccessToken with #token" do
|
40
|
+
expect(@access.token).to eq('salmon')
|
41
41
|
end
|
42
42
|
|
43
|
-
it
|
44
|
-
@access.refresh_token.
|
43
|
+
it "returns AccessToken with #refresh_token" do
|
44
|
+
expect(@access.refresh_token).to eq('trout')
|
45
45
|
end
|
46
46
|
|
47
|
-
it
|
48
|
-
@access.expires_in.
|
47
|
+
it "returns AccessToken with #expires_in" do
|
48
|
+
expect(@access.expires_in).to eq(600)
|
49
49
|
end
|
50
50
|
|
51
|
-
it
|
52
|
-
@access.expires_at.
|
51
|
+
it "returns AccessToken with #expires_at" do
|
52
|
+
expect(@access.expires_at).not_to be_nil
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
metadata
CHANGED
@@ -1,212 +1,167 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: oauth2
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 59
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 9
|
9
|
+
- 0
|
10
|
+
version: 0.9.0
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Michael Bleigh
|
9
14
|
- Erik Michaels-Ober
|
10
15
|
autorequire:
|
11
16
|
bindir: bin
|
12
|
-
cert_chain:
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
17
|
+
cert_chain:
|
18
|
+
- |
|
19
|
+
-----BEGIN CERTIFICATE-----
|
20
|
+
MIIDLjCCAhagAwIBAgIBADANBgkqhkiG9w0BAQUFADA9MQ8wDQYDVQQDDAZzZmVy
|
21
|
+
aWsxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2NvbTAe
|
22
|
+
Fw0xMzAyMDMxMDAyMjdaFw0xNDAyMDMxMDAyMjdaMD0xDzANBgNVBAMMBnNmZXJp
|
23
|
+
azEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29tMIIB
|
24
|
+
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl0x5dx8uKxi7TkrIuyBUTJVB
|
25
|
+
v1o93nUB9j/y4M96gV2rYwAci1JPBseNd6Fybzjo3YGuHl7EQHuSHNaf1p2lxew/
|
26
|
+
y60JXIJBBgPcDK/KCP4NUHofm0jfoYD+H5uNJfHCNq7/ZsTxOtE3Ra92s0BCMTpm
|
27
|
+
wBMMlWR5MtdEhIYuBO4XhnejYgH0L/7BL2lymntVnsr/agdQoojQCN1IQmsRJvrR
|
28
|
+
duZRO3tZvoIo1pBc4JEehDuqCeyBgPLOqMoKtQlold1TQs1kWUBK7KWMFEhKC/Kg
|
29
|
+
zyzKRHQo9yDYwOvYngoBLY+T/lwCT4dyssdhzRbfnxAhaKu4SAssIwaC01yVowID
|
30
|
+
AQABozkwNzAJBgNVHRMEAjAAMB0GA1UdDgQWBBS0ruDfRak5ci1OpDNX/ZdDEkIs
|
31
|
+
iTALBgNVHQ8EBAMCBLAwDQYJKoZIhvcNAQEFBQADggEBAHHSMs/MP0sOaLkEv4Jo
|
32
|
+
zvkm3qn5A6t0vaHx774cmejyMU+5wySxRezspL7ULh9NeuK2OhU+Oe3TpqrAg5TK
|
33
|
+
R8GQILnVu2FemGA6sAkPDlcPtgA6ieI19PZOF6HVLmc/ID/dP/NgZWWzEeqQKmcK
|
34
|
+
2+HM+SEEDhZkScYekw4ZOe164ZtZG816oAv5x0pGitSIkumUp7V8iEZ/6ehr7Y9e
|
35
|
+
XOg4eeun5L/JjmjARoW2kNdvkRD3c2EeSLqWvQRsBlypHfhs6JJuLlyZPGhU3R/v
|
36
|
+
Sf3lVKpBCWgRpGTvy45XVpB+59y33PJmEuQ1PTEOYvQyao9UKMAAaAN/7qWQtjl0
|
37
|
+
hlw=
|
38
|
+
-----END CERTIFICATE-----
|
39
|
+
|
40
|
+
date: 2013-02-10 00:00:00 Z
|
41
|
+
dependencies:
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: bundler
|
24
44
|
prerelease: false
|
25
|
-
|
45
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
46
|
none: false
|
27
|
-
requirements:
|
47
|
+
requirements:
|
28
48
|
- - ~>
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
hash: 15
|
51
|
+
segments:
|
52
|
+
- 1
|
53
|
+
- 0
|
54
|
+
version: "1.0"
|
55
|
+
type: :development
|
56
|
+
version_requirements: *id001
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: faraday
|
59
|
+
prerelease: false
|
60
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
34
61
|
none: false
|
35
|
-
requirements:
|
62
|
+
requirements:
|
36
63
|
- - ~>
|
37
|
-
- !ruby/object:Gem::Version
|
38
|
-
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
hash: 27
|
66
|
+
segments:
|
67
|
+
- 0
|
68
|
+
- 8
|
69
|
+
version: "0.8"
|
39
70
|
type: :runtime
|
71
|
+
version_requirements: *id002
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: httpauth
|
40
74
|
prerelease: false
|
41
|
-
|
75
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
76
|
none: false
|
43
|
-
requirements:
|
77
|
+
requirements:
|
44
78
|
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
|
47
|
-
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
hash: 9
|
81
|
+
segments:
|
82
|
+
- 0
|
83
|
+
- 1
|
84
|
+
version: "0.1"
|
85
|
+
type: :runtime
|
86
|
+
version_requirements: *id003
|
87
|
+
- !ruby/object:Gem::Dependency
|
48
88
|
name: multi_json
|
49
|
-
|
89
|
+
prerelease: false
|
90
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
91
|
none: false
|
51
|
-
requirements:
|
92
|
+
requirements:
|
52
93
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
hash: 15
|
96
|
+
segments:
|
97
|
+
- 1
|
98
|
+
- 0
|
99
|
+
version: "1.0"
|
55
100
|
type: :runtime
|
101
|
+
version_requirements: *id004
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: multi_xml
|
56
104
|
prerelease: false
|
57
|
-
|
58
|
-
none: false
|
59
|
-
requirements:
|
60
|
-
- - ~>
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '1.0'
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: rack
|
65
|
-
requirement: !ruby/object:Gem::Requirement
|
105
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
66
106
|
none: false
|
67
|
-
requirements:
|
107
|
+
requirements:
|
68
108
|
- - ~>
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
hash: 1
|
111
|
+
segments:
|
112
|
+
- 0
|
113
|
+
- 5
|
114
|
+
version: "0.5"
|
71
115
|
type: :runtime
|
116
|
+
version_requirements: *id005
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: rack
|
72
119
|
prerelease: false
|
73
|
-
|
120
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
74
121
|
none: false
|
75
|
-
requirements:
|
122
|
+
requirements:
|
76
123
|
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
requirements:
|
84
|
-
- - ~>
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: 0.1.4
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
hash: 11
|
126
|
+
segments:
|
127
|
+
- 1
|
128
|
+
- 2
|
129
|
+
version: "1.2"
|
87
130
|
type: :runtime
|
131
|
+
version_requirements: *id006
|
132
|
+
- !ruby/object:Gem::Dependency
|
133
|
+
name: jwt
|
88
134
|
prerelease: false
|
89
|
-
|
135
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
90
136
|
none: false
|
91
|
-
requirements:
|
137
|
+
requirements:
|
92
138
|
- - ~>
|
93
|
-
- !ruby/object:Gem::Version
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
hash: 19
|
141
|
+
segments:
|
142
|
+
- 0
|
143
|
+
- 1
|
144
|
+
- 4
|
94
145
|
version: 0.1.4
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
requirements:
|
100
|
-
- - ! '>='
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '0'
|
103
|
-
type: :development
|
104
|
-
prerelease: false
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
|
-
requirements:
|
108
|
-
- - ! '>='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: multi_xml
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
|
-
requirements:
|
116
|
-
- - ! '>='
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '0'
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
|
-
requirements:
|
124
|
-
- - ! '>='
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: '0'
|
127
|
-
- !ruby/object:Gem::Dependency
|
128
|
-
name: rake
|
129
|
-
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
|
-
requirements:
|
132
|
-
- - ! '>='
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: '0'
|
135
|
-
type: :development
|
136
|
-
prerelease: false
|
137
|
-
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
|
-
requirements:
|
140
|
-
- - ! '>='
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: '0'
|
143
|
-
- !ruby/object:Gem::Dependency
|
144
|
-
name: rdoc
|
145
|
-
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
|
-
requirements:
|
148
|
-
- - ! '>='
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
version: '0'
|
151
|
-
type: :development
|
152
|
-
prerelease: false
|
153
|
-
version_requirements: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
|
-
requirements:
|
156
|
-
- - ! '>='
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '0'
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: rspec
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
|
-
requirements:
|
164
|
-
- - ! '>='
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
167
|
-
type: :development
|
168
|
-
prerelease: false
|
169
|
-
version_requirements: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
|
-
requirements:
|
172
|
-
- - ! '>='
|
173
|
-
- !ruby/object:Gem::Version
|
174
|
-
version: '0'
|
175
|
-
- !ruby/object:Gem::Dependency
|
176
|
-
name: simplecov
|
177
|
-
requirement: !ruby/object:Gem::Requirement
|
178
|
-
none: false
|
179
|
-
requirements:
|
180
|
-
- - ! '>='
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
version: '0'
|
183
|
-
type: :development
|
184
|
-
prerelease: false
|
185
|
-
version_requirements: !ruby/object:Gem::Requirement
|
186
|
-
none: false
|
187
|
-
requirements:
|
188
|
-
- - ! '>='
|
189
|
-
- !ruby/object:Gem::Version
|
190
|
-
version: '0'
|
191
|
-
description: A Ruby wrapper for the OAuth 2.0 protocol built with a similar style
|
192
|
-
to the original OAuth gem.
|
193
|
-
email:
|
146
|
+
type: :runtime
|
147
|
+
version_requirements: *id007
|
148
|
+
description: A Ruby wrapper for the OAuth 2.0 protocol built with a similar style to the original OAuth spec.
|
149
|
+
email:
|
194
150
|
- michael@intridea.com
|
195
151
|
- sferik@gmail.com
|
196
152
|
executables: []
|
153
|
+
|
197
154
|
extensions: []
|
155
|
+
|
198
156
|
extra_rdoc_files: []
|
199
|
-
|
157
|
+
|
158
|
+
files:
|
200
159
|
- .document
|
201
|
-
- .
|
202
|
-
- .gitignore
|
203
|
-
- .rspec
|
204
|
-
- .travis.yml
|
205
|
-
- Gemfile
|
160
|
+
- CONTRIBUTING.md
|
206
161
|
- LICENSE.md
|
207
162
|
- README.md
|
208
163
|
- Rakefile
|
209
|
-
-
|
164
|
+
- oauth2.gemspec
|
210
165
|
- lib/oauth2/access_token.rb
|
211
166
|
- lib/oauth2/client.rb
|
212
167
|
- lib/oauth2/error.rb
|
@@ -218,7 +173,7 @@ files:
|
|
218
173
|
- lib/oauth2/strategy/implicit.rb
|
219
174
|
- lib/oauth2/strategy/password.rb
|
220
175
|
- lib/oauth2/version.rb
|
221
|
-
- oauth2.
|
176
|
+
- lib/oauth2.rb
|
222
177
|
- spec/helper.rb
|
223
178
|
- spec/oauth2/access_token_spec.rb
|
224
179
|
- spec/oauth2/client_spec.rb
|
@@ -230,30 +185,41 @@ files:
|
|
230
185
|
- spec/oauth2/strategy/implicit_spec.rb
|
231
186
|
- spec/oauth2/strategy/password_spec.rb
|
232
187
|
homepage: http://github.com/intridea/oauth2
|
233
|
-
licenses:
|
188
|
+
licenses:
|
189
|
+
- MIT
|
234
190
|
post_install_message:
|
235
191
|
rdoc_options: []
|
236
|
-
|
192
|
+
|
193
|
+
require_paths:
|
237
194
|
- lib
|
238
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
195
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
239
196
|
none: false
|
240
|
-
requirements:
|
241
|
-
- -
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
|
244
|
-
|
197
|
+
requirements:
|
198
|
+
- - ">="
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
hash: 3
|
201
|
+
segments:
|
202
|
+
- 0
|
203
|
+
version: "0"
|
204
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
245
205
|
none: false
|
246
|
-
requirements:
|
247
|
-
- -
|
248
|
-
- !ruby/object:Gem::Version
|
206
|
+
requirements:
|
207
|
+
- - ">="
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
hash: 23
|
210
|
+
segments:
|
211
|
+
- 1
|
212
|
+
- 3
|
213
|
+
- 6
|
249
214
|
version: 1.3.6
|
250
215
|
requirements: []
|
216
|
+
|
251
217
|
rubyforge_project:
|
252
|
-
rubygems_version: 1.8.
|
218
|
+
rubygems_version: 1.8.25
|
253
219
|
signing_key:
|
254
220
|
specification_version: 3
|
255
221
|
summary: A Ruby wrapper for the OAuth 2.0 protocol.
|
256
|
-
test_files:
|
222
|
+
test_files:
|
257
223
|
- spec/helper.rb
|
258
224
|
- spec/oauth2/access_token_spec.rb
|
259
225
|
- spec/oauth2/client_spec.rb
|