devise_oauth2_providable 0.2.3 → 0.2.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/app/models/authorization_code.rb +0 -1
- data/lib/devise_oauth2_providable/schema.rb +4 -4
- data/lib/devise_oauth2_providable/version.rb +1 -1
- data/spec/rails_app/db/schema.rb +4 -4
- data/spec/rails_app/spec/controllers/protected_controller_spec.rb +13 -3
- data/spec/rails_app/spec/models/access_token_spec.rb +1 -1
- data/spec/rails_app/spec/models/authorization_code_spec.rb +21 -0
- data/spec/rails_app/spec/models/client_spec.rb +1 -0
- data/spec/rails_app/spec/models/refresh_token_spec.rb +1 -1
- metadata +6 -4
@@ -12,7 +12,7 @@ module Devise
|
|
12
12
|
t.string :secret
|
13
13
|
t.timestamps
|
14
14
|
end
|
15
|
-
migration.add_index :clients, :identifier
|
15
|
+
migration.add_index :clients, :identifier, :unique => true
|
16
16
|
|
17
17
|
migration.create_table :access_tokens do |t|
|
18
18
|
t.belongs_to :user, :client, :refresh_token
|
@@ -20,7 +20,7 @@ module Devise
|
|
20
20
|
t.datetime :expires_at
|
21
21
|
t.timestamps
|
22
22
|
end
|
23
|
-
migration.add_index :access_tokens, :token
|
23
|
+
migration.add_index :access_tokens, :token, :unique => true
|
24
24
|
migration.add_index :access_tokens, :expires_at
|
25
25
|
migration.add_index :access_tokens, :user_id
|
26
26
|
migration.add_index :access_tokens, :client_id
|
@@ -31,7 +31,7 @@ module Devise
|
|
31
31
|
t.datetime :expires_at
|
32
32
|
t.timestamps
|
33
33
|
end
|
34
|
-
migration.add_index :refresh_tokens, :token
|
34
|
+
migration.add_index :refresh_tokens, :token, :unique => true
|
35
35
|
migration.add_index :refresh_tokens, :expires_at
|
36
36
|
migration.add_index :refresh_tokens, :user_id
|
37
37
|
migration.add_index :refresh_tokens, :client_id
|
@@ -43,7 +43,7 @@ module Devise
|
|
43
43
|
t.string :redirect_uri
|
44
44
|
t.timestamps
|
45
45
|
end
|
46
|
-
migration.add_index :authorization_codes, :token
|
46
|
+
migration.add_index :authorization_codes, :token, :unique => true
|
47
47
|
migration.add_index :authorization_codes, :expires_at
|
48
48
|
migration.add_index :authorization_codes, :user_id
|
49
49
|
migration.add_index :authorization_codes, :client_id
|
data/spec/rails_app/db/schema.rb
CHANGED
@@ -24,7 +24,7 @@ ActiveRecord::Schema.define(:version => 20110511210926) do
|
|
24
24
|
|
25
25
|
add_index "access_tokens", ["client_id"], :name => "index_access_tokens_on_client_id"
|
26
26
|
add_index "access_tokens", ["expires_at"], :name => "index_access_tokens_on_expires_at"
|
27
|
-
add_index "access_tokens", ["token"], :name => "index_access_tokens_on_token"
|
27
|
+
add_index "access_tokens", ["token"], :name => "index_access_tokens_on_token", :unique => true
|
28
28
|
add_index "access_tokens", ["user_id"], :name => "index_access_tokens_on_user_id"
|
29
29
|
|
30
30
|
create_table "authorization_codes", :force => true do |t|
|
@@ -39,7 +39,7 @@ ActiveRecord::Schema.define(:version => 20110511210926) do
|
|
39
39
|
|
40
40
|
add_index "authorization_codes", ["client_id"], :name => "index_authorization_codes_on_client_id"
|
41
41
|
add_index "authorization_codes", ["expires_at"], :name => "index_authorization_codes_on_expires_at"
|
42
|
-
add_index "authorization_codes", ["token"], :name => "index_authorization_codes_on_token"
|
42
|
+
add_index "authorization_codes", ["token"], :name => "index_authorization_codes_on_token", :unique => true
|
43
43
|
add_index "authorization_codes", ["user_id"], :name => "index_authorization_codes_on_user_id"
|
44
44
|
|
45
45
|
create_table "clients", :force => true do |t|
|
@@ -52,7 +52,7 @@ ActiveRecord::Schema.define(:version => 20110511210926) do
|
|
52
52
|
t.datetime "updated_at"
|
53
53
|
end
|
54
54
|
|
55
|
-
add_index "clients", ["identifier"], :name => "index_clients_on_identifier"
|
55
|
+
add_index "clients", ["identifier"], :name => "index_clients_on_identifier", :unique => true
|
56
56
|
|
57
57
|
create_table "refresh_tokens", :force => true do |t|
|
58
58
|
t.integer "user_id"
|
@@ -65,7 +65,7 @@ ActiveRecord::Schema.define(:version => 20110511210926) do
|
|
65
65
|
|
66
66
|
add_index "refresh_tokens", ["client_id"], :name => "index_refresh_tokens_on_client_id"
|
67
67
|
add_index "refresh_tokens", ["expires_at"], :name => "index_refresh_tokens_on_expires_at"
|
68
|
-
add_index "refresh_tokens", ["token"], :name => "index_refresh_tokens_on_token"
|
68
|
+
add_index "refresh_tokens", ["token"], :name => "index_refresh_tokens_on_token", :unique => true
|
69
69
|
add_index "refresh_tokens", ["user_id"], :name => "index_refresh_tokens_on_user_id"
|
70
70
|
|
71
71
|
create_table "users", :force => true do |t|
|
@@ -15,6 +15,13 @@ describe ProtectedController do
|
|
15
15
|
end
|
16
16
|
it { should respond_with :ok }
|
17
17
|
end
|
18
|
+
context 'with valid bearer token in query string' do
|
19
|
+
before do
|
20
|
+
get :index, :bearer_token => @token.token, :format => 'json'
|
21
|
+
end
|
22
|
+
it { should respond_with :ok }
|
23
|
+
end
|
24
|
+
|
18
25
|
context 'with invalid bearer token in query param' do
|
19
26
|
before do
|
20
27
|
get :index, :bearer_token => 'invalid', :format => 'json'
|
@@ -23,10 +30,13 @@ describe ProtectedController do
|
|
23
30
|
end
|
24
31
|
context 'with valid bearer token in header and query string' do
|
25
32
|
before do
|
26
|
-
@request.env['HTTP_AUTHORIZATION'] = "Bearer #{@token.token}"
|
27
|
-
get :index, :bearer_token => @token.token, :format => 'json'
|
28
33
|
end
|
29
|
-
it
|
34
|
+
it 'raises error' do
|
35
|
+
lambda {
|
36
|
+
@request.env['HTTP_AUTHORIZATION'] = "Bearer #{@token.token}"
|
37
|
+
get :index, :bearer_token => @token.token, :format => 'json'
|
38
|
+
}.should raise_error
|
39
|
+
end
|
30
40
|
end
|
31
41
|
end
|
32
42
|
end
|
@@ -16,7 +16,7 @@ describe AccessToken do
|
|
16
16
|
it { should allow_mass_assignment_of :refresh_token }
|
17
17
|
it { should have_db_index :client_id }
|
18
18
|
it { should have_db_index :user_id }
|
19
|
-
it { should have_db_index
|
19
|
+
it { should have_db_index(:token).unique(true) }
|
20
20
|
it { should have_db_index :expires_at }
|
21
21
|
end
|
22
22
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe AuthorizationCode do
|
4
|
+
describe 'basic authorization code instance' do
|
5
|
+
subject do
|
6
|
+
client = Client.create! :name => 'test', :redirect_uri => 'http://localhost:3000', :website => 'http://localhost'
|
7
|
+
AuthorizationCode.create! :client => client
|
8
|
+
end
|
9
|
+
it { should validate_presence_of :token }
|
10
|
+
it { should validate_uniqueness_of :token }
|
11
|
+
it { should belong_to :user }
|
12
|
+
it { should belong_to :client }
|
13
|
+
it { should validate_presence_of :client }
|
14
|
+
it { should validate_presence_of :expires_at }
|
15
|
+
it { should have_db_index :client_id }
|
16
|
+
it { should have_db_index :user_id }
|
17
|
+
it { should have_db_index(:token).unique(true) }
|
18
|
+
it { should have_db_index :expires_at }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
@@ -15,7 +15,7 @@ describe RefreshToken do
|
|
15
15
|
it { should have_many :access_tokens }
|
16
16
|
it { should have_db_index :client_id }
|
17
17
|
it { should have_db_index :user_id }
|
18
|
-
it { should have_db_index
|
18
|
+
it { should have_db_index(:token).unique(true) }
|
19
19
|
it { should have_db_index :expires_at }
|
20
20
|
end
|
21
21
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise_oauth2_providable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 4
|
10
|
+
version: 0.2.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ryan Sonnek
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-05-
|
18
|
+
date: 2011-05-19 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rails
|
@@ -164,6 +164,7 @@ files:
|
|
164
164
|
- spec/rails_app/spec/controllers/protected_controller_spec.rb
|
165
165
|
- spec/rails_app/spec/integration/token_endpoint_spec.rb
|
166
166
|
- spec/rails_app/spec/models/access_token_spec.rb
|
167
|
+
- spec/rails_app/spec/models/authorization_code_spec.rb
|
167
168
|
- spec/rails_app/spec/models/client_spec.rb
|
168
169
|
- spec/rails_app/spec/models/refresh_token_spec.rb
|
169
170
|
- spec/rails_app/spec/models/user_spec.rb
|
@@ -253,6 +254,7 @@ test_files:
|
|
253
254
|
- spec/rails_app/spec/controllers/protected_controller_spec.rb
|
254
255
|
- spec/rails_app/spec/integration/token_endpoint_spec.rb
|
255
256
|
- spec/rails_app/spec/models/access_token_spec.rb
|
257
|
+
- spec/rails_app/spec/models/authorization_code_spec.rb
|
256
258
|
- spec/rails_app/spec/models/client_spec.rb
|
257
259
|
- spec/rails_app/spec/models/refresh_token_spec.rb
|
258
260
|
- spec/rails_app/spec/models/user_spec.rb
|