Class: SlackWebApi::OauthProviderError

Inherits:
Object
  • Object
show all
Defined in:
lib/slack_web_api/models/oauth_provider_error.rb

Overview

OAuth 2 Authorization error codes

Constant Summary collapse

OAUTH_PROVIDER_ERROR =
[
  # The request is missing a required parameter, includes an unsupported

  # parameter value (other than grant type), repeats a parameter, includes

  # multiple credentials, utilizes more than one mechanism for

  # authenticating the client, or is otherwise malformed.

  INVALID_REQUEST = 'invalid_request'.freeze,

  # Client authentication failed (e.g., unknown client, no client

  # authentication included, or unsupported authentication method).

  INVALID_CLIENT = 'invalid_client'.freeze,

  # The provided authorization grant (e.g., authorization code, resource

  # owner credentials) or refresh token is invalid, expired, revoked, does

  # not match the redirection URI used in the authorization request, or was

  # issued to another client.

  INVALID_GRANT = 'invalid_grant'.freeze,

  # The authenticated client is not authorized to use this authorization

  # grant type.

  UNAUTHORIZED_CLIENT = 'unauthorized_client'.freeze,

  # The authorization grant type is not supported by the authorization

  # server.

  UNSUPPORTED_GRANT_TYPE = 'unsupported_grant_type'.freeze,

  # The requested scope is invalid, unknown, malformed, or exceeds the scope

  # granted by the resource owner.

  INVALID_SCOPE = 'invalid_scope'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = INVALID_REQUEST) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/slack_web_api/models/oauth_provider_error.rb', line 45

def self.from_value(value, default_value = INVALID_REQUEST)
  return default_value if value.nil?

  str = value.to_s.strip

  case str.downcase
  when 'invalid_request' then INVALID_REQUEST
  when 'invalid_client' then INVALID_CLIENT
  when 'invalid_grant' then INVALID_GRANT
  when 'unauthorized_client' then UNAUTHORIZED_CLIENT
  when 'unsupported_grant_type' then UNSUPPORTED_GRANT_TYPE
  when 'invalid_scope' then INVALID_SCOPE
  else
    default_value
  end
end

.validate(value) ⇒ Object



39
40
41
42
43
# File 'lib/slack_web_api/models/oauth_provider_error.rb', line 39

def self.validate(value)
  return false if value.nil?

  OAUTH_PROVIDER_ERROR.include?(value)
end