debian-forge-composer/vendor/github.com/getkin/kin-openapi/openapi3/security_requirements.go
Chloe Kaubisch 13c79294b6 cloudapi: validate input
Validate incoming requests with openapi3. Remove unsupported
uuid format from the openapi spec. Similarly, change url to uri as
uri is a supported format and url is not.

Co-authored-by: Ondřej Budai <obudai@redhat.com>
Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2022-05-16 13:20:46 +02:00

45 lines
1.2 KiB
Go

package openapi3
import (
"context"
)
type SecurityRequirements []SecurityRequirement
func NewSecurityRequirements() *SecurityRequirements {
return &SecurityRequirements{}
}
func (srs *SecurityRequirements) With(securityRequirement SecurityRequirement) *SecurityRequirements {
*srs = append(*srs, securityRequirement)
return srs
}
func (value SecurityRequirements) Validate(ctx context.Context) error {
for _, item := range value {
if err := item.Validate(ctx); err != nil {
return err
}
}
return nil
}
// SecurityRequirement is specified by OpenAPI/Swagger standard version 3.
// See https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#securityRequirementObject
type SecurityRequirement map[string][]string
func NewSecurityRequirement() SecurityRequirement {
return make(SecurityRequirement)
}
func (security SecurityRequirement) Authenticate(provider string, scopes ...string) SecurityRequirement {
if len(scopes) == 0 {
scopes = []string{} // Forces the variable to be encoded as an array instead of null
}
security[provider] = scopes
return security
}
func (value SecurityRequirement) Validate(ctx context.Context) error {
return nil
}