Module: OmniAuth::GeekPark::Helper
- Defined in:
- lib/omniauth-geekpark/helper.rb
Instance Method Summary collapse
Instance Method Details
#extra_info ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# 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! ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# 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 ⇒ Object
4 5 6 |
# File 'lib/omniauth-geekpark/helper.rb', line 4 def token token? ? super : refresh_token! end |
#token? ⇒ Boolean
8 9 10 |
# File 'lib/omniauth-geekpark/helper.rb', line 8 def token? self[:token].present? && (Time.current < expires_at) end |