class Simple::Oauth2::Client
Attributes
access_token[RW]
auth_endpoint[RW]
base_uri[RW]
client_id[RW]
client_secret[RW]
redirect_uri[RW]
refresh_token[RW]
token_endpoint[RW]
Public Class Methods
new(props={})
click to toggle source
# File lib/simple-oauth2.rb, line 22 def initialize(props={}) @client_id = props[:client_id] @client_secret = props[:client_secret] @redirect_uri = props[:redirect_uri] @base_uri = props[:base_uri] @auth_endpoint = props[:auth_endpoint] @token_endpoint = props[:token_endpoint] @access_token = props[:access_token] @refresh_token = props[:refresh_token] end
Public Instance Methods
exchange(code)
click to toggle source
Exchanges a verification code for an access token.
# File lib/simple-oauth2.rb, line 53 def exchange(code) params = Addressable::URI.new params.query_values = { type: 'web_server', client_id: @client_id, redirect_uri: @redirect_uri, client_secret: @client_secret, code: code } uri = "#{@base_uri}#{@token_endpoint}?#{params.query}" conn = Faraday.new(:url => uri) response = conn.post uri binding.pry Response.new(response.body) end
new_access_token()
click to toggle source
Returns a new access token.
# File lib/simple-oauth2.rb, line 37 def new_access_token params = Addressable::URI.new params.query_values = { type: 'refresh', refresh_token: @refresh_token, client_id: @client_id, redirect_uri: @redirect_uri, client_secret: @client_secret } url = "#{@base_uri}#{@token_endpoint}?#{params.query}" conn = Faraday.new(:url => url) response = conn.post url Response.new(response.body) end
redirect_url()
click to toggle source
Returns redirect url.
# File lib/simple-oauth2.rb, line 70 def redirect_url params = Addressable::URI.new params.query_values = { type: 'web_server', client_id: @client_id, redirect_uri: @redirect_uri, } "#{@base_uri}#{@auth_endpoint}?#{params.query}" end