class Setsuzoku::Service::WebService::AuthStrategies::OAuthStrategy
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.
Public Class Methods
credential_class()
click to toggle source
# 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()
click to toggle source
# File lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb, line 18 def self.required_instance_methods [] end
token_valid_for()
click to toggle source
# File lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb, line 26 def self.token_valid_for 24.hours end
Public Instance Methods
auth_headers()
click to toggle source
Oauth auth headers required to perform authenticated requests.
@return [Hash] the auth headers.
# 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)
click to toggle source
# 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!()
click to toggle source
# 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
Private Instance Methods
params(params)
click to toggle source
# File lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb, line 86 def params(params) if params.key?(:redirect_uri) params.merge(client_id: self.credential.client_id, client_secret: self.credential.client_secret ) else params.merge(client_id: self.credential.client_id, client_secret: self.credential.client_secret, redirect_uri: self.credential.redirect_url ) end end
uses_token_by_default?()
click to toggle source
OAuth auth_strategy always uses a token.
@return [Boolean] if the auth_strategy uses a token or not.
# File lib/setsuzoku/service/web_service/auth_strategies/o_auth_strategy.rb, line 76 def uses_token_by_default? true end