Class: Setsuzoku::Service::WebService::AuthStrategies::OAuthStrategy
- Inherits:
-
Setsuzoku::Service::WebService::AuthStrategy
- Object
- Setsuzoku::Service::WebService::AuthStrategy
- Setsuzoku::Service::WebService::AuthStrategies::OAuthStrategy
- Extended by:
- T::Helpers, T::Sig
- Includes:
- StrategyCanUseTokens
- Defined in:
- lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb
Overview
The API OAuth Authentication Interface definition. Any Plugin that implements this must implement all methods required for OAuth.
Defines all necessary methods for the OAuth auth strategy.
Instance Attribute Summary
Attributes included from AuthStrategy
Attributes included from HasConfigContext
Class Method Summary collapse
Instance Method Summary collapse
-
#auth_headers ⇒ Hash
Oauth auth headers required to perform authenticated requests.
- #new_credential!(**args) ⇒ Object
- #refresh_expired_token! ⇒ Object
Methods included from StrategyCanUseTokens
#auth_credential_valid?, #new_token!
Methods included from AuthStrategy
#auth_credential_valid?, #initialize, #set_credential!
Methods included from HasConfigContext
Class Method Details
.credential_class ⇒ Object
22 23 24 |
# File 'lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb', line 22 def self.credential_class Setsuzoku::Service::WebService::Credentials::OAuthCredential end |
.required_instance_methods ⇒ Object
18 19 20 |
# File 'lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb', line 18 def self.required_instance_methods [] end |
.token_valid_for ⇒ Object
26 27 28 |
# File 'lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb', line 26 def self.token_valid_for 24.hours end |
Instance Method Details
#auth_headers ⇒ Hash
Oauth auth headers required to perform authenticated requests.
37 38 39 40 41 42 43 |
# File 'lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb', line 37 def auth_headers { authorization: { token: self.credential.token } } end |
#new_credential!(**args) ⇒ Object
52 53 54 55 56 |
# File 'lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb', line 52 def new_credential!(**args) # get a token object based on the code retrieved from login get_token!(params(grant_type: 'authorization_code', code: args[:code]), :new_token) end |
#refresh_expired_token! ⇒ Object
62 63 64 65 |
# File 'lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb', line 62 def refresh_expired_token! get_token!(params(grant_type: 'refresh_token', refresh_token: self.credential.refresh_token), :refresh_token) end |