Documentation
¶
Index ¶
- type Command
- type OAuthConfig
- type Service
- func (s *Service) Authorize(ctx context.Context, command *Command) (*oauth2.Token, error)
- func (s *Service) AuthorizeSessionTokenPayload(ctx context.Context, command *Command) (*SessionTokenPayload, error)
- func (s *Service) EnsureConfig(ctx context.Context, config *OAuthConfig) error
- func (s *Service) IDClient(ctx context.Context, command *Command) (*http.Client, error)
- func (s *Service) RefreshToken(ctx context.Context, refreshToken *oauth2.Token, config *OAuthConfig) (*oauth2.Token, error)
- type SessionTokenPayload
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Command ¶
type Command struct {
OAuthConfig
AuthFlow string `json:"authFlow"`
Scopes []string `json:"scopes"`
Secrets map[string]string `json:"secrets"`
SecretsURL string `json:"secretsURL"`
UsePKCE bool `json:"usePKCE"`
NewEndpoint func() (flow.Endpoint, error) `json:"-" yaml:"-"`
}
Command represents a command to authorize
type OAuthConfig ¶ added in v0.23.0
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is a secretsService that provides authorization functionality
func (*Service) AuthorizeSessionTokenPayload ¶ added in v0.30.0
func (s *Service) AuthorizeSessionTokenPayload(ctx context.Context, command *Command) (*SessionTokenPayload, error)
AuthorizeSessionTokenPayload performs authorization and normalizes the result into a serializable token payload for downstream session establishment.
func (*Service) EnsureConfig ¶ added in v0.23.0
func (s *Service) EnsureConfig(ctx context.Context, config *OAuthConfig) error
type SessionTokenPayload ¶ added in v0.30.0
type SessionTokenPayload struct {
AccessToken string
IDToken string
RefreshToken string
ExpiresAt string
}
SessionTokenPayload is a transport-friendly representation of an OAuth token bundle suitable for handing off to another trusted service for session creation and token persistence.
Click to show internal directories.
Click to hide internal directories.