Class: SlackWebApi::OauthV2Controller

Inherits:
BaseController show all
Defined in:
lib/slack_web_api/controllers/oauth_v2_controller.rb

Overview

OauthV2Controller

Constant Summary

Constants inherited from BaseController

BaseController::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseController

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseController

#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent, user_agent_parameters

Constructor Details

This class inherits a constructor from SlackWebApi::BaseController

Instance Method Details

#oauth_v2_access(code, client_id: nil, client_secret: nil, redirect_uri: nil) ⇒ ApiResponse

Exchanges a temporary OAuth verifier code for an access token. OAuth callback. application. your application. originally submitted URI (if one was sent).

Parameters:

  • code (String)

    Required parameter: The code param returned via the

  • client_id (String) (defaults to: nil)

    Optional parameter: Issued when you created your

  • client_secret (String) (defaults to: nil)

    Optional parameter: Issued when you created

  • redirect_uri (String) (defaults to: nil)

    Optional parameter: This must match the

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/slack_web_api/controllers/oauth_v2_controller.rb', line 19

def oauth_v2_access(code,
                    client_id: nil,
                    client_secret: nil,
                    redirect_uri: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/oauth.v2.access',
                                 Server::DEFAULT)
               .query_param(new_parameter(code, key: 'code')
                             .is_required(true))
               .header_param(new_parameter('application/x-www-form-urlencoded', key: 'Content-Type'))
               .query_param(new_parameter(client_id, key: 'client_id'))
               .query_param(new_parameter(client_secret, key: 'client_secret'))
               .query_param(new_parameter(redirect_uri, key: 'redirect_uri'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(Single.new('slackAuth')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(DefaultSuccessTemplate.method(:from_hash))
                .is_api_response(true)
                .local_error('default',
                             'Typical error response',
                             DefaultErrorTemplateException))
    .execute
end