module OmniAuth::GeekPark::Helper
Public Instance Methods
extra_info()
click to toggle source
# File lib/omniauth-geekpark/helper.rb, line 32 def extra_info res = conn.get do |req| req.url '/api/v1/user/extra_info' req.params[:query] = %w(email mobile) req.params[:access_token] = token end if res.status == 200 JSON.parse(res.body) else nil end end
refresh_token!()
click to toggle source
# File lib/omniauth-geekpark/helper.rb, line 12 def refresh_token! return unless refresh_token.present? res = conn.post do |req| req.url '/oauth2/token' req.body = { grant_type: 'refresh_token', refresh_token: refresh_token, client_id: ENV['GEEKPARK_KEY'], client_secret: ENV['GEEKPARK_SECRET'] } end if res.status == 200 body = JSON.parse(res.body) update(token: body["access_token"], expires_at: (Time.now + body['expires_in']), refresh_token: body['refresh_token']) return body['access_token'] else nil end end
token()
click to toggle source
Calls superclass method
# File lib/omniauth-geekpark/helper.rb, line 4 def token token? ? super : refresh_token! end
token?()
click to toggle source
# File lib/omniauth-geekpark/helper.rb, line 8 def token? self[:token].present? && (Time.current < expires_at) end
Private Instance Methods
conn()
click to toggle source
# File lib/omniauth-geekpark/helper.rb, line 48 def conn @conn ||= Faraday.new(url: 'https://account.geekpark.net') do |faraday| faraday.request :url_encoded faraday.adapter Faraday.default_adapter end end