Class: SSO::Server::Doorkeeper::ResourceOwnerAuthenticator
- Inherits:
-
Object
- Object
- SSO::Server::Doorkeeper::ResourceOwnerAuthenticator
show all
- Includes:
- Logging
- Defined in:
- lib/sso/server/doorkeeper/resource_owner_authenticator.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Logging
#debug, #error, #fatal, #info, #logger, #progname, #warn
Constructor Details
Returns a new instance of ResourceOwnerAuthenticator.
13
14
15
|
# File 'lib/sso/server/doorkeeper/resource_owner_authenticator.rb', line 13
def initialize(controller:)
@controller = controller
end
|
Instance Attribute Details
#controller ⇒ Object
Returns the value of attribute controller.
7
8
9
|
# File 'lib/sso/server/doorkeeper/resource_owner_authenticator.rb', line 7
def controller
@controller
end
|
Instance Method Details
#call ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/sso/server/doorkeeper/resource_owner_authenticator.rb', line 17
def call
debug { 'Detected "Authorization Code Grant" flow. Checking resource owner authentication...' }
unless warden
fail ::SSO::Server::Errors::WardenMissing, 'Please use the Warden middleware.'
end
if current_user
debug { "Yes, User with ID #{current_user.inspect} has a session." }
current_user
else
debug { 'No, no User is logged in right now. Initializing authentication procedure...' }
warden.authenticate! :password
end
end
|
#current_user ⇒ Object
37
38
39
|
# File 'lib/sso/server/doorkeeper/resource_owner_authenticator.rb', line 37
def current_user
warden.user
end
|
#warden ⇒ Object
33
34
35
|
# File 'lib/sso/server/doorkeeper/resource_owner_authenticator.rb', line 33
def warden
controller.request.env['warden']
end
|