forked from ebhomengo/niki
39 lines
1.4 KiB
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{})
|
|
}
|