Class: Grape::OAuth2::Strategies::RefreshToken

Inherits:
Base
  • Object
show all
Defined in:
lib/grape_oauth2/strategies/refresh_token.rb

Overview

Refresh Token strategy class. Processes request and respond with Access Token.

Class Method Summary collapse

Methods inherited from Base

authenticate_client, authenticate_resource_owner, config, expose_to_bearer_token, scopes_from

Class Method Details

.process(request) ⇒ Object

Processes Refresh Token request.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/grape_oauth2/strategies/refresh_token.rb', line 9

def process(request)
  client = authenticate_client(request)

  request.invalid_client! if client.nil?

  refresh_token = config.access_token_class.authenticate(request.refresh_token, type: :refresh_token)
  request.invalid_grant! if refresh_token.nil?
  request.unauthorized_client! if refresh_token && refresh_token.client != client

  token = config.access_token_class.create_for(client, refresh_token.resource_owner)
  run_on_refresh_callback(refresh_token) if config.on_refresh_runnable?

  expose_to_bearer_token(token)
end