Class: Fog::Brightbox::OAuth2::CredentialSet
- Inherits:
-
Object
- Object
- Fog::Brightbox::OAuth2::CredentialSet
- Defined in:
- lib/fog/brightbox/oauth2.rb
Overview
Interface to update certain credentials (after password change)
Encapsulates credentials required to request access tokens from the Brightbox authorisation servers
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
-
#client_id ⇒ Object
readonly
Returns the value of attribute client_id.
-
#client_secret ⇒ Object
readonly
Returns the value of attribute client_secret.
-
#password ⇒ Object
readonly
Returns the value of attribute password.
-
#refresh_token ⇒ Object
readonly
Returns the value of attribute refresh_token.
-
#username ⇒ Object
readonly
Returns the value of attribute username.
Instance Method Summary collapse
-
#access_token? ⇒ Boolean
Is an access token available for these credentials?.
-
#best_grant_strategy ⇒ Object
Based on available credentials returns the best strategy.
-
#initialize(client_id, client_secret, options = {}) ⇒ CredentialSet
constructor
A new instance of CredentialSet.
-
#refresh_token? ⇒ Boolean
Is a refresh token available for these credentials?.
-
#update_tokens(access_token, refresh_token = nil) ⇒ Object
Updates the credentials with newer tokens.
-
#user_details? ⇒ Boolean
Returns true if user details are available.
Constructor Details
#initialize(client_id, client_secret, options = {}) ⇒ CredentialSet
Returns a new instance of CredentialSet.
48 49 50 51 52 53 54 55 |
# File 'lib/fog/brightbox/oauth2.rb', line 48 def initialize(client_id, client_secret, = {}) @client_id = client_id @client_secret = client_secret @username = [:username] @password = [:password] @access_token = [:access_token] @refresh_token = [:refresh_token] end |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
40 41 42 |
# File 'lib/fog/brightbox/oauth2.rb', line 40 def access_token @access_token end |
#client_id ⇒ Object (readonly)
Returns the value of attribute client_id.
39 40 41 |
# File 'lib/fog/brightbox/oauth2.rb', line 39 def client_id @client_id end |
#client_secret ⇒ Object (readonly)
Returns the value of attribute client_secret.
39 40 41 |
# File 'lib/fog/brightbox/oauth2.rb', line 39 def client_secret @client_secret end |
#password ⇒ Object (readonly)
Returns the value of attribute password.
39 40 41 |
# File 'lib/fog/brightbox/oauth2.rb', line 39 def password @password end |
#refresh_token ⇒ Object (readonly)
Returns the value of attribute refresh_token.
40 41 42 |
# File 'lib/fog/brightbox/oauth2.rb', line 40 def refresh_token @refresh_token end |
#username ⇒ Object (readonly)
Returns the value of attribute username.
39 40 41 |
# File 'lib/fog/brightbox/oauth2.rb', line 39 def username @username end |
Instance Method Details
#access_token? ⇒ Boolean
Is an access token available for these credentials?
64 65 66 |
# File 'lib/fog/brightbox/oauth2.rb', line 64 def access_token? !!@access_token end |
#best_grant_strategy ⇒ Object
Add a means to dictate which should or shouldn’t be used
Based on available credentials returns the best strategy
83 84 85 86 87 88 89 90 91 |
# File 'lib/fog/brightbox/oauth2.rb', line 83 def best_grant_strategy if refresh_token? RefreshTokenStrategy.new(self) elsif user_details? UserCredentialsStrategy.new(self) else ClientCredentialsStrategy.new(self) end end |
#refresh_token? ⇒ Boolean
Is a refresh token available for these credentials?
69 70 71 |
# File 'lib/fog/brightbox/oauth2.rb', line 69 def refresh_token? !!@refresh_token end |
#update_tokens(access_token, refresh_token = nil) ⇒ Object
Updates the credentials with newer tokens
74 75 76 77 |
# File 'lib/fog/brightbox/oauth2.rb', line 74 def update_tokens(access_token, refresh_token = nil) @access_token = access_token @refresh_token = refresh_token end |
#user_details? ⇒ Boolean
Returns true if user details are available
59 60 61 |
# File 'lib/fog/brightbox/oauth2.rb', line 59 def user_details? !!(@username && @password) end |