Class: Doorkeeper::OpenidConnect::OAuth::DynamicRegistrationRequest

Inherits:
Object
  • Object
show all
Includes:
GrantTypesSupportedMixin, TokenEndpointAuthMethodsSupportedMixin, Validations
Defined in:
lib/doorkeeper/openid_connect/oauth/dynamic_registration_request.rb

Constant Summary collapse

DEFAULT_TOKEN_ENDPOINT_AUTH_METHOD =
"client_secret_basic"
PUBLIC_CLIENT_AUTH_METHOD =
"none"
DEFAULT_APPLICATION_TYPE =
"web"
SUPPORTED_APPLICATION_TYPES =
%w[web native].freeze

Constants included from TokenEndpointAuthMethodsSupportedMixin

TokenEndpointAuthMethodsSupportedMixin::CLIENT_CREDENTIALS_METHOD_MAPPING

Instance Method Summary collapse

Methods included from GrantTypesSupportedMixin

#grant_types_supported

Methods included from TokenEndpointAuthMethodsSupportedMixin

#token_endpoint_auth_methods_supported

Constructor Details

#initialize(server, params) ⇒ DynamicRegistrationRequest

Returns a new instance of DynamicRegistrationRequest.



21
22
23
24
# File 'lib/doorkeeper/openid_connect/oauth/dynamic_registration_request.rb', line 21

def initialize(server, params)
  @server = server
  @params = params
end

Instance Method Details

#confidential_client?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/doorkeeper/openid_connect/oauth/dynamic_registration_request.rb', line 44

def confidential_client?
  token_endpoint_auth_method != PUBLIC_CLIENT_AUTH_METHOD
end

#error_responseObject



48
49
50
# File 'lib/doorkeeper/openid_connect/oauth/dynamic_registration_request.rb', line 48

def error_response
  { error: error.to_s, error_description: @error_description }
end

#requested_application_typeObject



30
31
32
# File 'lib/doorkeeper/openid_connect/oauth/dynamic_registration_request.rb', line 30

def requested_application_type
  @params[:application_type].presence || DEFAULT_APPLICATION_TYPE
end

#requested_grant_typesObject



39
40
41
42
# File 'lib/doorkeeper/openid_connect/oauth/dynamic_registration_request.rb', line 39

def requested_grant_types
  types = Array(@params[:grant_types]).compact_blank
  types.presence || server_grant_types
end

#requested_response_typesObject



34
35
36
37
# File 'lib/doorkeeper/openid_connect/oauth/dynamic_registration_request.rb', line 34

def requested_response_types
  types = Array(@params[:response_types]).compact_blank
  types.presence || server_response_types
end

#token_endpoint_auth_methodObject



26
27
28
# File 'lib/doorkeeper/openid_connect/oauth/dynamic_registration_request.rb', line 26

def token_endpoint_auth_method
  @params[:token_endpoint_auth_method].presence || DEFAULT_TOKEN_ENDPOINT_AUTH_METHOD
end