Class: Bitly::V3::OAuth
- Inherits:
-
Object
- Object
- Bitly::V3::OAuth
- Defined in:
- lib/bitly/v3/oauth.rb
Overview
OAuth consumer for authentication
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
Instance Method Summary collapse
-
#authorize_url(redirect_url, state = nil) ⇒ Object
Get the url to redirect a user to, pass the url you want the user to be redirected back to.
-
#client ⇒ Object
Get the OAuth 2 client.
-
#get_access_token_from_code(code, redirect_url) ⇒ Object
Get the access token.
-
#get_access_token_from_token(token, params = {}) ⇒ Object
If you already have a user token, this method gets the access token.
-
#initialize(consumer_token, consumer_secret) ⇒ OAuth
constructor
A new instance of OAuth.
Constructor Details
#initialize(consumer_token, consumer_secret) ⇒ OAuth
Returns a new instance of OAuth.
6 7 8 |
# File 'lib/bitly/v3/oauth.rb', line 6 def initialize(consumer_token, consumer_secret) @consumer_token, @consumer_secret = consumer_token, consumer_secret end |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
5 6 7 |
# File 'lib/bitly/v3/oauth.rb', line 5 def access_token @access_token end |
Instance Method Details
#authorize_url(redirect_url, state = nil) ⇒ Object
Get the url to redirect a user to, pass the url you want the user to be redirected back to.
22 23 24 25 26 |
# File 'lib/bitly/v3/oauth.rb', line 22 def (redirect_url, state=nil) params = {:redirect_uri => redirect_url} params[:state] = state if state client.auth_code.(params).gsub(/api-ssl\./,'') end |
#client ⇒ Object
Get the OAuth 2 client
11 12 13 14 15 16 17 18 |
# File 'lib/bitly/v3/oauth.rb', line 11 def client @client ||= ::OAuth2::Client.new( @consumer_token, @consumer_secret, :site => 'https://api-ssl.bitly.com', :token_url => '/oauth/access_token' ) end |
#get_access_token_from_code(code, redirect_url) ⇒ Object
Get the access token. You must pass the exact same redirect_url passed to the authorize_url method
30 31 32 |
# File 'lib/bitly/v3/oauth.rb', line 30 def get_access_token_from_code(code,redirect_url) @access_token ||= client.auth_code.get_token(code, :redirect_uri => redirect_url, :parse => :query) end |
#get_access_token_from_token(token, params = {}) ⇒ Object
If you already have a user token, this method gets the access token
35 36 37 38 |
# File 'lib/bitly/v3/oauth.rb', line 35 def get_access_token_from_token(token, params={}) params = params.inject({}) { |, (key, value)| [key.to_s] = value; } @access_token ||= ::OAuth2::AccessToken.new(client, token, params) end |