Class: TransferWise::OAuth
- Inherits:
-
Object
- Object
- TransferWise::OAuth
- Defined in:
- lib/transfer_wise/oauth.rb
Instance Attribute Summary collapse
-
#access_token ⇒ Object
Returns the value of attribute access_token.
Instance Method Summary collapse
-
#authorize_url(redirect_url) ⇒ Object
Get the url to redirect a user to, pass the redirect_url you want the user to be redirected back to.
-
#client ⇒ Object
Get the OAuth 2 client.
-
#get_access_token(code, redirect_url) ⇒ Object
Get the access token.
-
#initialize(client_id, client_secret) ⇒ OAuth
constructor
A new instance of OAuth.
-
#refresh_token(access_token, opts = {}) ⇒ Object
This method is used to refresh the access token before it expires.
Constructor Details
#initialize(client_id, client_secret) ⇒ OAuth
Returns a new instance of OAuth.
5 6 7 |
# File 'lib/transfer_wise/oauth.rb', line 5 def initialize(client_id, client_secret) @client_id, @client_secret = client_id, client_secret end |
Instance Attribute Details
#access_token ⇒ Object
Returns the value of attribute access_token.
3 4 5 |
# File 'lib/transfer_wise/oauth.rb', line 3 def access_token @access_token end |
Instance Method Details
#authorize_url(redirect_url) ⇒ Object
Get the url to redirect a user to, pass the redirect_url you want the user to be redirected back to.
22 23 24 |
# File 'lib/transfer_wise/oauth.rb', line 22 def (redirect_url) client.auth_code.({redirect_uri: redirect_url}) end |
#client ⇒ Object
Get the OAuth 2 client
10 11 12 13 14 15 16 17 18 |
# File 'lib/transfer_wise/oauth.rb', line 10 def client @client ||= ::OAuth2::Client.new( @client_id, @client_secret, { site: TransferWise.api_base, auth_scheme: :basic_auth } ) end |
#get_access_token(code, redirect_url) ⇒ Object
Get the access token. You must pass the exact same redirect_url passed to the authorize_url method
28 29 30 |
# File 'lib/transfer_wise/oauth.rb', line 28 def get_access_token(code, redirect_url) @access_token ||= client.auth_code.get_token(code, redirect_uri: redirect_url) end |
#refresh_token(access_token, opts = {}) ⇒ Object
This method is used to refresh the access token before it expires
33 34 35 |
# File 'lib/transfer_wise/oauth.rb', line 33 def refresh_token(access_token, opts = {}) OAuth2::AccessToken.new(client, access_token, opts).refresh! end |