devise_oauth2_providable 0.3.7 → 0.3.8
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +2 -1
- data/app/controllers/oauth2/authorizations_controller.rb +3 -2
- data/app/models/client.rb +4 -1
- data/config/routes.rb +1 -1
- data/devise_oauth2_providable.gemspec +1 -1
- data/lib/devise_oauth2_providable/version.rb +1 -1
- data/lib/devise_oauth2_providable.rb +1 -1
- data/spec/rails_app/spec/models/client_spec.rb +7 -1
- metadata +8 -8
data/README.md
CHANGED
@@ -38,7 +38,8 @@ class User
|
|
38
38
|
# if supporting Resource Owner Password Credentials Grant Type
|
39
39
|
devise :oauth2_providable,
|
40
40
|
:oauth2_password_grantable,
|
41
|
-
:oauth2_refresh_token_grantable
|
41
|
+
:oauth2_refresh_token_grantable,
|
42
|
+
:oauth2_authorization_code_grantable
|
42
43
|
end
|
43
44
|
```
|
44
45
|
|
@@ -35,12 +35,13 @@ class Oauth2::AuthorizationsController < ApplicationController
|
|
35
35
|
if params[:approve].present?
|
36
36
|
case req.response_type
|
37
37
|
when :code
|
38
|
-
authorization_code = current_user.authorization_codes.create(:
|
38
|
+
authorization_code = current_user.authorization_codes.create(:client => @client, :redirect_uri => @redirect_uri)
|
39
39
|
res.code = authorization_code.token
|
40
40
|
when :token
|
41
|
-
access_token = current_user.access_tokens.create(:
|
41
|
+
access_token = current_user.access_tokens.create(:client => @client).token
|
42
42
|
bearer_token = Rack::OAuth2::AccessToken::Bearer.new(:access_token => access_token)
|
43
43
|
res.access_token = bearer_token
|
44
|
+
res.uid = current_user.id
|
44
45
|
end
|
45
46
|
res.approve!
|
46
47
|
else
|
data/app/models/client.rb
CHANGED
@@ -4,9 +4,12 @@ class Client < ActiveRecord::Base
|
|
4
4
|
|
5
5
|
before_validation :init_identifier, :on => :create, :unless => :identifier?
|
6
6
|
before_validation :init_secret, :on => :create, :unless => :secret?
|
7
|
-
validates :
|
7
|
+
validates :website, :redirect_uri, :secret, :presence => true
|
8
|
+
validates :name, :presence => true, :uniqueness => true
|
8
9
|
validates :identifier, :presence => true, :uniqueness => true
|
9
10
|
|
11
|
+
attr_accessible :name, :website, :redirect_uri
|
12
|
+
|
10
13
|
private
|
11
14
|
|
12
15
|
def init_identifier
|
data/config/routes.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
2
|
scope '/oauth2', :as => 'oauth2' do
|
3
3
|
resources :authorizations, :controller => 'oauth2/authorizations', :only => :create
|
4
|
-
resource :token, :controller => 'oauth2/tokens', :only => :create
|
5
4
|
match 'authorize' => 'oauth2/authorizations#new'
|
5
|
+
resource :token, :controller => 'oauth2/tokens', :only => :create
|
6
6
|
end
|
7
7
|
end
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
|
17
17
|
s.add_runtime_dependency(%q<rails>, [">= 3.0.7"])
|
18
18
|
s.add_runtime_dependency(%q<devise>, [">= 1.3.3"])
|
19
|
-
s.add_runtime_dependency(%q<rack-oauth2>, ["~> 0.
|
19
|
+
s.add_runtime_dependency(%q<rack-oauth2>, ["~> 0.11.0"])
|
20
20
|
s.add_development_dependency(%q<rspec>, ['>= 2.5.0'])
|
21
21
|
|
22
22
|
s.files = `git ls-files`.split("\n")
|
@@ -4,10 +4,16 @@ describe Client do
|
|
4
4
|
describe 'basic client instance' do
|
5
5
|
subject { Client.create! :name => 'test', :redirect_uri => 'http://localhost:3000', :website => 'http://localhost' }
|
6
6
|
it { should validate_presence_of :name }
|
7
|
+
it { should validate_uniqueness_of :name }
|
8
|
+
it { should allow_mass_assignment_of :name }
|
7
9
|
it { should validate_presence_of :website }
|
10
|
+
it { should allow_mass_assignment_of :website }
|
8
11
|
it { should validate_presence_of :redirect_uri }
|
12
|
+
it { should allow_mass_assignment_of :redirect_uri }
|
9
13
|
it { should validate_uniqueness_of :identifier }
|
10
|
-
it { should have_many :refresh_tokens }
|
11
14
|
it { should have_db_index(:identifier).unique(true) }
|
15
|
+
it { should_not allow_mass_assignment_of :identifier }
|
16
|
+
it { should_not allow_mass_assignment_of :secret }
|
17
|
+
it { should have_many :refresh_tokens }
|
12
18
|
end
|
13
19
|
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: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 8
|
10
|
+
version: 0.3.8
|
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-
|
18
|
+
date: 2011-10-13 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rails
|
@@ -57,12 +57,12 @@ dependencies:
|
|
57
57
|
requirements:
|
58
58
|
- - ~>
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
hash:
|
60
|
+
hash: 51
|
61
61
|
segments:
|
62
62
|
- 0
|
63
|
-
-
|
64
|
-
-
|
65
|
-
version: 0.
|
63
|
+
- 11
|
64
|
+
- 0
|
65
|
+
version: 0.11.0
|
66
66
|
type: :runtime
|
67
67
|
version_requirements: *id003
|
68
68
|
- !ruby/object:Gem::Dependency
|