brycesch-devise_oauth2_providable 1.1.7 → 1.2.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.
- checksums.yaml +4 -4
- data/app/controllers/devise/oauth2_providable/tokens_controller.rb +2 -0
- data/config/locales/en.yml +6 -0
- data/lib/devise/oauth2_providable/strategies/oauth2_authorization_code_grant_type_strategy.rb +1 -1
- data/lib/devise/oauth2_providable/strategies/oauth2_grant_type_strategy.rb +2 -3
- data/lib/devise/oauth2_providable/strategies/oauth2_password_grant_type_strategy.rb +1 -1
- data/lib/devise/oauth2_providable/strategies/oauth2_refresh_token_grant_type_strategy.rb +1 -1
- data/lib/devise/oauth2_providable/version.rb +1 -1
- data/lib/devise_oauth2_providable.rb +2 -2
- data/spec/dummy/app/controllers/protected_controller.rb +0 -1
- data/spec/integration/oauth2_authorization_token_grant_type_strategy_spec.rb +4 -4
- data/spec/integration/oauth2_password_grant_type_strategy_spec.rb +5 -5
- data/spec/integration/oauth2_refresh_token_grant_type_strategy_spec.rb +4 -4
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 09dbe4d5fdfe303bf1b13d2e683ccd6abd30419c
|
4
|
+
data.tar.gz: 74ff05e0eb6663d40484e121e573e90b9ddda358
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6cf5f68adf86cd7bbd8c986738554c31bc729fe6f4cff39f535cabcd9cc3b16d487503ceda1ec6ec443ee2b33b8679bf2e1f9ae5a3105fd49e3767912dd9d89
|
7
|
+
data.tar.gz: c97a6bacf12d426766462f4cbe1ac479615bb597404ed3fd3b4a02e78aa975fbff25b83df3772b02fce63e6e8066c8266b4d23993aca05cef087a8a5d85da37e
|
@@ -10,12 +10,14 @@ class Devise::Oauth2Providable::TokensController < ApplicationController
|
|
10
10
|
def create
|
11
11
|
@refresh_token = oauth2_current_refresh_token || oauth2_current_client.refresh_tokens.create!(:user => current_user)
|
12
12
|
@access_token = @refresh_token.access_tokens.create!(:client => oauth2_current_client, :user => current_user)
|
13
|
+
yield if block_given?
|
13
14
|
render :json => @access_token.token_response
|
14
15
|
end
|
15
16
|
|
16
17
|
def destroy
|
17
18
|
raise Rack::OAuth2::Server::Authorize::BadRequest unless current_user && oauth2_current_client
|
18
19
|
oauth2_current_client.expire_tokens_for_user(current_user)
|
20
|
+
yield if block_given?
|
19
21
|
head :no_content
|
20
22
|
end
|
21
23
|
|
data/lib/devise/oauth2_providable/strategies/oauth2_authorization_code_grant_type_strategy.rb
CHANGED
@@ -11,7 +11,7 @@ module Devise
|
|
11
11
|
if code = client.authorization_codes.find_by_token(params[:code])
|
12
12
|
success! code.user
|
13
13
|
else
|
14
|
-
oauth_error! :invalid_grant, '
|
14
|
+
oauth_error! :invalid_grant, I18n.t('devise.failure.invalid_auth_code')
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -27,14 +27,13 @@ module Devise
|
|
27
27
|
env[Devise::Oauth2Providable::CLIENT_ENV_REF] = client
|
28
28
|
authenticate_grant_type(client)
|
29
29
|
else
|
30
|
-
oauth_error! :invalid_client
|
30
|
+
oauth_error! :invalid_client
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
# return custom error response in accordance with the oauth spec
|
35
|
-
# see http://tools.ietf.org/html/draft-ietf-oauth-v2-16#section-4.3
|
36
34
|
def oauth_error!(error_code = :invalid_request, description = nil)
|
37
35
|
body = {:error => error_code}
|
36
|
+
description = I18n.t("devise.failure.#{error_code}") unless description
|
38
37
|
body[:error_description] = description if description
|
39
38
|
custom! [400, {'Content-Type' => 'application/json'}, [body.to_json]]
|
40
39
|
throw :warden
|
@@ -12,7 +12,7 @@ module Devise
|
|
12
12
|
if validate(resource) { resource.valid_password?(params[:password]) }
|
13
13
|
success! resource
|
14
14
|
else
|
15
|
-
oauth_error! :invalid_grant,
|
15
|
+
oauth_error! :invalid_grant, I18n.t("devise.failure.#{resource.unauthenticated_message}")
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
@@ -12,7 +12,7 @@ module Devise
|
|
12
12
|
env[Devise::Oauth2Providable::REFRESH_TOKEN_ENV_REF] = refresh_token
|
13
13
|
success! refresh_token.user
|
14
14
|
else
|
15
|
-
oauth_error! :invalid_grant,
|
15
|
+
oauth_error! :invalid_grant, I18n.t("devise.failure.invalid_refresh_token")
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
@@ -30,10 +30,10 @@ end
|
|
30
30
|
Devise.add_module(:oauth2_providable,
|
31
31
|
:strategy => true,
|
32
32
|
:model => 'devise/oauth2_providable/models/oauth2_providable')
|
33
|
-
Devise.add_module(:oauth2_password_grantable,
|
33
|
+
Devise.add_module(:oauth2_password_grantable,
|
34
34
|
:strategy => true,
|
35
35
|
:model => 'devise/oauth2_providable/models/oauth2_password_grantable')
|
36
|
-
Devise.add_module(:oauth2_refresh_token_grantable,
|
36
|
+
Devise.add_module(:oauth2_refresh_token_grantable,
|
37
37
|
:strategy => true,
|
38
38
|
:model => 'devise/oauth2_providable/models/oauth2_refresh_token_grantable')
|
39
39
|
Devise.add_module(:oauth2_authorization_code_grantable,
|
@@ -54,7 +54,7 @@ describe Devise::Strategies::Oauth2AuthorizationCodeGrantTypeStrategy do
|
|
54
54
|
it 'returns json' do
|
55
55
|
expected = {
|
56
56
|
:error => 'invalid_grant',
|
57
|
-
:error_description => '
|
57
|
+
:error_description => 'Invalid authorization code.'
|
58
58
|
}
|
59
59
|
response.body.should match_json(expected)
|
60
60
|
end
|
@@ -78,7 +78,7 @@ describe Devise::Strategies::Oauth2AuthorizationCodeGrantTypeStrategy do
|
|
78
78
|
it 'returns json' do
|
79
79
|
expected = {
|
80
80
|
:error => 'invalid_grant',
|
81
|
-
:error_description => '
|
81
|
+
:error_description => 'Invalid authorization code.'
|
82
82
|
}
|
83
83
|
response.body.should match_json(expected)
|
84
84
|
end
|
@@ -102,7 +102,7 @@ describe Devise::Strategies::Oauth2AuthorizationCodeGrantTypeStrategy do
|
|
102
102
|
it 'returns json' do
|
103
103
|
expected = {
|
104
104
|
:error => 'invalid_client',
|
105
|
-
:error_description => '
|
105
|
+
:error_description => 'Invalid client credentials.'
|
106
106
|
}
|
107
107
|
response.body.should match_json(expected)
|
108
108
|
end
|
@@ -126,7 +126,7 @@ describe Devise::Strategies::Oauth2AuthorizationCodeGrantTypeStrategy do
|
|
126
126
|
it 'returns json' do
|
127
127
|
expected = {
|
128
128
|
:error => 'invalid_client',
|
129
|
-
:error_description => '
|
129
|
+
:error_description => 'Invalid client credentials.'
|
130
130
|
}
|
131
131
|
response.body.should match_json(expected)
|
132
132
|
end
|
@@ -65,7 +65,7 @@ describe Devise::Strategies::Oauth2PasswordGrantTypeStrategy do
|
|
65
65
|
it { response.content_type.should == 'application/json' }
|
66
66
|
it 'returns json' do
|
67
67
|
expected = {
|
68
|
-
:error_description => "
|
68
|
+
:error_description => "Invalid client credentials.",
|
69
69
|
:error => "invalid_client"
|
70
70
|
}
|
71
71
|
response.body.should match_json(expected)
|
@@ -87,7 +87,7 @@ describe Devise::Strategies::Oauth2PasswordGrantTypeStrategy do
|
|
87
87
|
it { response.content_type.should == 'application/json' }
|
88
88
|
it 'returns json' do
|
89
89
|
expected = {
|
90
|
-
:error_description => "
|
90
|
+
:error_description => "Invalid client credentials.",
|
91
91
|
:error => "invalid_client"
|
92
92
|
}
|
93
93
|
response.body.should match_json(expected)
|
@@ -112,7 +112,7 @@ describe Devise::Strategies::Oauth2PasswordGrantTypeStrategy do
|
|
112
112
|
it { response.content_type.should == 'application/json' }
|
113
113
|
it 'returns json' do
|
114
114
|
expected = {
|
115
|
-
:error_description => "
|
115
|
+
:error_description => "Invalid email or password.",
|
116
116
|
:error => "invalid_grant"
|
117
117
|
}
|
118
118
|
response.body.should match_json(expected)
|
@@ -137,7 +137,7 @@ describe Devise::Strategies::Oauth2PasswordGrantTypeStrategy do
|
|
137
137
|
it { response.content_type.should == 'application/json' }
|
138
138
|
it 'returns json' do
|
139
139
|
expected = {
|
140
|
-
:error_description => "
|
140
|
+
:error_description => "Invalid client credentials.",
|
141
141
|
:error => "invalid_client"
|
142
142
|
}
|
143
143
|
response.body.should match_json(expected)
|
@@ -162,7 +162,7 @@ describe Devise::Strategies::Oauth2PasswordGrantTypeStrategy do
|
|
162
162
|
it { response.content_type.should == 'application/json' }
|
163
163
|
it 'returns json' do
|
164
164
|
expected = {
|
165
|
-
:error_description => "
|
165
|
+
:error_description => "Invalid client credentials.",
|
166
166
|
:error => "invalid_client"
|
167
167
|
}
|
168
168
|
response.body.should match_json(expected)
|
@@ -53,7 +53,7 @@ describe Devise::Strategies::Oauth2RefreshTokenGrantTypeStrategy do
|
|
53
53
|
it 'returns json' do
|
54
54
|
expected = {
|
55
55
|
:error => 'invalid_grant',
|
56
|
-
:error_description => '
|
56
|
+
:error_description => 'Invalid refresh token.'
|
57
57
|
}
|
58
58
|
response.body.should match_json(expected)
|
59
59
|
end
|
@@ -79,7 +79,7 @@ describe Devise::Strategies::Oauth2RefreshTokenGrantTypeStrategy do
|
|
79
79
|
refresh_token = @refresh_token
|
80
80
|
expected = {
|
81
81
|
:error => 'invalid_grant',
|
82
|
-
:error_description => '
|
82
|
+
:error_description => 'Invalid refresh token.'
|
83
83
|
}
|
84
84
|
response.body.should match_json(expected)
|
85
85
|
end
|
@@ -103,7 +103,7 @@ describe Devise::Strategies::Oauth2RefreshTokenGrantTypeStrategy do
|
|
103
103
|
it 'returns json' do
|
104
104
|
expected = {
|
105
105
|
:error => 'invalid_client',
|
106
|
-
:error_description => '
|
106
|
+
:error_description => 'Invalid client credentials.'
|
107
107
|
}
|
108
108
|
response.body.should match_json(expected)
|
109
109
|
end
|
@@ -127,7 +127,7 @@ describe Devise::Strategies::Oauth2RefreshTokenGrantTypeStrategy do
|
|
127
127
|
it 'returns json' do
|
128
128
|
expected = {
|
129
129
|
:error => 'invalid_client',
|
130
|
-
:error_description => '
|
130
|
+
:error_description => 'Invalid client credentials.'
|
131
131
|
}
|
132
132
|
response.body.should match_json(expected)
|
133
133
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brycesch-devise_oauth2_providable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Sonnek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -175,6 +175,7 @@ files:
|
|
175
175
|
- app/views/devise/oauth2_providable/authorizations/_form.html.erb
|
176
176
|
- app/views/devise/oauth2_providable/authorizations/error.html.erb
|
177
177
|
- app/views/devise/oauth2_providable/authorizations/new.html.erb
|
178
|
+
- config/locales/en.yml
|
178
179
|
- config/routes.rb
|
179
180
|
- db/migrate/20111014160714_create_devise_oauth2_providable_schema.rb
|
180
181
|
- devise_oauth2_providable.gemspec
|