class Yori::Schema::V3::SecurityScheme

SecurityScheme:

Defines a security scheme that can be used by the operations.
Supported schemes are HTTP authentication, an API key (either as a header or as a query parameter),
OAuth2's common flows (implicit, password, application and access code) as defined in RFC6749, and OpenID Connect Discovery.

Public Instance Methods

in_header() click to toggle source

@!method in_header

Set 'header' value to 'in' field.
# File lib/yori/schema/v3/security_scheme.rb, line 30
def in_header
  self['in'] = 'header'
end
in_query() click to toggle source

@!method in_query

Set 'query' value to 'in' field.
# File lib/yori/schema/v3/security_scheme.rb, line 24
def in_query
  self['in'] = 'query'
end
validate!() click to toggle source
# File lib/yori/schema/v3/security_scheme.rb, line 55
def validate!
  validate_type!
  case self['type']
  when 'apiKey'
    validate_as_api_key!
  when 'http'
    validate_as_http!
  when 'oauth2'
    validate_as_oauth2!
  when 'openIdConnect'
    validate_as_open_id_connect!
  end
end
validate_as_api_key!() click to toggle source
# File lib/yori/schema/v3/security_scheme.rb, line 74
def validate_as_api_key!
  validate_require_fields!('name', 'in')
  validate_limit_field_values!('in', 'query', 'header', 'cookie')
end
validate_as_http!() click to toggle source
# File lib/yori/schema/v3/security_scheme.rb, line 79
def validate_as_http!
  validate_require_fields!('scheme')
end
validate_as_oauth2!() click to toggle source
# File lib/yori/schema/v3/security_scheme.rb, line 83
def validate_as_oauth2!
  validate_require_fields!('flows')
end
validate_as_open_id_connect!() click to toggle source
# File lib/yori/schema/v3/security_scheme.rb, line 87
def validate_as_open_id_connect!
  validate_require_fields!('openIdConnectUrl')
end
validate_type!() click to toggle source
# File lib/yori/schema/v3/security_scheme.rb, line 69
def validate_type!
  validate_require_fields!('type')
  validate_limit_field_values!('type', 'apiKey', 'http', 'oauth2', 'openIdConnect')
end