doorkeeper_sso 0.4.0 → 0.4.1
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/models/sso/client.rb +5 -0
- data/lib/doorkeeper/oauth/request_concern.rb +12 -0
- data/lib/doorkeeper_sso.rb +1 -0
- data/lib/sso/doorkeeper/authorization/code_mixin.rb +20 -0
- data/lib/sso/doorkeeper/authorization/token_mixin.rb +19 -0
- data/lib/sso/doorkeeper/authorizations_controller_mixin.rb +11 -0
- data/lib/sso/engine.rb +2 -3
- data/lib/sso/version.rb +1 -1
- data/lib/sso.rb +1 -0
- metadata +20 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83cabb56cf16ffc50f1c907b6eca037aaa2ef747
|
4
|
+
data.tar.gz: 15314eedab0b7141de0abdf4d3fd096c6d141638
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41a0d41cee7396b3db3f9155871e23d6b65354c1fe45859374b4bb9ab22217da4b972538e6b537a7fca40d03a2072377b1c7e08314b98d3d8d9d5e9ac6bab3e1
|
7
|
+
data.tar.gz: d6ae977b71310c72e773dfbabbd8ecb19979a37eb48647031d653e5ac2407cf450e41e2a2745acae21fcc9a5657ab3e14d3cdb178cf4793505b3ed8457152d9c
|
data/app/models/sso/client.rb
CHANGED
@@ -18,6 +18,11 @@ module Sso
|
|
18
18
|
def find_by_access_token(token)
|
19
19
|
find_by(access_token: ::Doorkeeper::AccessToken.by_token(token))
|
20
20
|
end
|
21
|
+
|
22
|
+
def create_from_access_token(session, token_id)
|
23
|
+
return false unless oauth_token = ::Doorkeeper::AccessToken.find_by(id: token_id)
|
24
|
+
client = session.find_or_create_by(access_token_id: token_id)
|
25
|
+
end
|
21
26
|
end
|
22
27
|
|
23
28
|
def update_access_token(token)
|
data/lib/doorkeeper_sso.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
# Doorkeeper::OAuth::Authorization::Code extensions
|
2
|
+
# This module extends oauth authorization classes to publish a wisper event when token is issued
|
3
|
+
|
4
|
+
module Sso
|
5
|
+
module Doorkeeper
|
6
|
+
module Authorization
|
7
|
+
module CodeMixin
|
8
|
+
extend ActiveSupport::Concern
|
9
|
+
include ::Sso::Logging
|
10
|
+
|
11
|
+
def issue_token
|
12
|
+
super
|
13
|
+
broadcast(:access_grant_created, token.id) if @token.try(:id)
|
14
|
+
@token
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Doorkeeper::OAuth::Authorization::Token extensions
|
2
|
+
# This module extends oauth authorization classes to publish a wisper event when token is issued
|
3
|
+
|
4
|
+
module Sso
|
5
|
+
module Doorkeeper
|
6
|
+
module Authorization
|
7
|
+
module CodeMixin
|
8
|
+
extend ActiveSupport::Concern
|
9
|
+
include ::Sso::Logging
|
10
|
+
|
11
|
+
def issue_token
|
12
|
+
super
|
13
|
+
broadcast(:access_token_created, token.id) if @token.try(:id)
|
14
|
+
@token
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -5,11 +5,22 @@ module Sso
|
|
5
5
|
include ::Sso::Logging
|
6
6
|
|
7
7
|
included do
|
8
|
+
around_action :subscribe_to_token_creation, only: [:new, :create]
|
8
9
|
after_action :after_grant_create, only: [:new, :create]
|
9
10
|
end
|
10
11
|
|
11
12
|
protected
|
12
13
|
|
14
|
+
def subscribe_to_token_creation
|
15
|
+
Wisper.subscribe(self) do
|
16
|
+
yield
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def access_token_created(token_id)
|
21
|
+
raise "AuthorizationsController#gives token - #{token_id}"
|
22
|
+
end
|
23
|
+
|
13
24
|
def after_grant_create
|
14
25
|
debug { "AuthorizationsController#Create : after_action" }
|
15
26
|
code_response = authorization.instance_variable_get("@response")
|
data/lib/sso/engine.rb
CHANGED
@@ -26,13 +26,12 @@ module Sso
|
|
26
26
|
::Doorkeeper::Application.send(:include, Sso::Doorkeeper::ApplicationMixin)
|
27
27
|
::Doorkeeper::AccessGrant.send(:include, Sso::Doorkeeper::AccessGrantMixin)
|
28
28
|
::Doorkeeper::AccessToken.send(:include, Sso::Doorkeeper::AccessTokenMixin)
|
29
|
-
|
30
|
-
|
29
|
+
::Doorkeeper::OAuth::CodeRequest.send(:include, ::Wisper::Publisher)
|
31
30
|
::Doorkeeper::TokensController.send(:include, AbstractController::Callbacks)
|
32
31
|
::Doorkeeper::TokensController.send(:include, Sso::Doorkeeper::TokensControllerMixin)
|
33
32
|
::Doorkeeper::AuthorizationsController.send(:include, Sso::Doorkeeper::AuthorizationsControllerMixin)
|
34
33
|
|
35
|
-
::Warden::Manager.after_set_user(scope: :user, &::Sso::Warden::Hooks::CreateMasterSession.to_proc)
|
34
|
+
::Warden::Manager.after_set_user(scope: :user, except: :fetch, &::Sso::Warden::Hooks::CreateMasterSession.to_proc)
|
36
35
|
::Warden::Manager.before_logout(scope: :user, &::Sso::Warden::Hooks::BeforeLogout.to_proc)
|
37
36
|
|
38
37
|
# TODO : Do we want to ensure that session is always active?
|
data/lib/sso/version.rb
CHANGED
data/lib/sso.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doorkeeper_sso
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Wong
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: warden
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: wisper
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 2.0.0.rc1
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.0.0.rc1
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rails
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -334,11 +348,14 @@ files:
|
|
334
348
|
- db/migrate/20150521142926_create_sso_clients.rb
|
335
349
|
- db/migrate/20150521165143_remove_extra_columns_from_sso_sessions.rb
|
336
350
|
- db/migrate/20150603145730_add_pingback_uri_to_doorkeeper_applications.rb
|
351
|
+
- lib/doorkeeper/oauth/request_concern.rb
|
337
352
|
- lib/doorkeeper_sso.rb
|
338
353
|
- lib/sso.rb
|
339
354
|
- lib/sso/doorkeeper/access_grant_mixin.rb
|
340
355
|
- lib/sso/doorkeeper/access_token_mixin.rb
|
341
356
|
- lib/sso/doorkeeper/application_mixin.rb
|
357
|
+
- lib/sso/doorkeeper/authorization/code_mixin.rb
|
358
|
+
- lib/sso/doorkeeper/authorization/token_mixin.rb
|
342
359
|
- lib/sso/doorkeeper/authorizations_controller_mixin.rb
|
343
360
|
- lib/sso/doorkeeper/tokens_controller_mixin.rb
|
344
361
|
- lib/sso/engine.rb
|
@@ -396,7 +413,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
396
413
|
requirements:
|
397
414
|
- - ">="
|
398
415
|
- !ruby/object:Gem::Version
|
399
|
-
version: '
|
416
|
+
version: '2.0'
|
400
417
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
401
418
|
requirements:
|
402
419
|
- - ">="
|