niki/vendor/github.com/sv-tools/openapi/spec/oauth-flows.go

39 lines
1.4 KiB
Go

package spec
// OAuthFlows allows configuration of the supported OAuth Flows.
//
// https://spec.openapis.org/oas/v3.1.0#oauth-flows-object
//
// Example:
//
// type: oauth2
// flows:
// implicit:
// authorizationUrl: https://example.com/api/oauth/dialog
// scopes:
// write:pets: modify pets in your account
// read:pets: read your pets
// authorizationCode:
// authorizationUrl: https://example.com/api/oauth/dialog
// tokenUrl: https://example.com/api/oauth/token
// scopes:
// write:pets: modify pets in your account
// read:pets: read your pets
type OAuthFlows struct {
// Configuration for the OAuth Implicit flow.
Implicit *Extendable[OAuthFlow] `json:"implicit,omitempty" yaml:"implicit,omitempty"`
// Configuration for the OAuth Resource Owner Password flow.
Password *Extendable[OAuthFlow] `json:"password,omitempty" yaml:"password,omitempty"`
// Configuration for the OAuth Client Credentials flow.
// Previously called application in OpenAPI 2.0.
ClientCredentials *Extendable[OAuthFlow] `json:"clientCredentials,omitempty" yaml:"clientCredentials,omitempty"`
// Configuration for the OAuth Authorization Code flow.
// Previously called accessCode in OpenAPI 2.0.
AuthorizationCode *Extendable[OAuthFlow] `json:"authorizationCode,omitempty" yaml:"authorizationCode,omitempty"`
}
// NewOAuthFlows creates OAuthFlows object
func NewOAuthFlows() *Extendable[OAuthFlows] {
return NewExtendable(&OAuthFlows{})
}