Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IDTokenClaims ¶
type IDTokenClaims struct { // Sub provides some information about the Spacelift run that generated this // token. // space:<space_id>:(stack|module):<stack_id|module_id>:run_type:<run_type>:scope:<read|write> Sub string `json:"sub"` // SpaceID is the ID of the space in which the run that owns the token was // executed. SpaceID string `json:"spaceId"` // CallerType is the type of the caller, ie. the entity that owns the run - // either stack or module. CallerType string `json:"callerType"` // CallerID is the ID of the caller, ie. the stack or module that generated // the run. CallerID string `json:"callerId"` // RunType is the type of the run. // (PROPOSED, TRACKED, TASK, TESTING or DESTROY) RunType string `json:"runType"` // RunID is the ID of the run that owns the token. RunID string `json:"runId"` // Scope is the scope of the token - either read or write. Scope string `json:"scope"` }
IDTokenClaims See the following for the structure: https://docs.spacelift.io/integrations/cloud-providers/oidc/#standard-claims
func (*IDTokenClaims) JoinAuditAttributes ¶
func (c *IDTokenClaims) JoinAuditAttributes() (map[string]interface{}, error)
JoinAuditAttributes returns a series of attributes that can be inserted into audit events related to a specific join.
type IDTokenSource ¶
type IDTokenSource struct {
// contains filtered or unexported fields
}
IDTokenSource allows a SpaceLift ID token to be fetched whilst within a SpaceLift execution.
func NewIDTokenSource ¶
func NewIDTokenSource(getEnv envGetter) *IDTokenSource
func (*IDTokenSource) GetIDToken ¶
func (its *IDTokenSource) GetIDToken() (string, error)
type IDTokenValidator ¶
type IDTokenValidator struct {
IDTokenValidatorConfig
}
IDTokenValidator validates a Spacelift issued ID Token.
func NewIDTokenValidator ¶
func NewIDTokenValidator( cfg IDTokenValidatorConfig, ) *IDTokenValidator
NewIDTokenValidator returns an initialized IDTokenValidator
func (*IDTokenValidator) Validate ¶
func (id *IDTokenValidator) Validate( ctx context.Context, hostname string, token string, ) (*IDTokenClaims, error)
Validate validates a Spacelift issued ID token.
type IDTokenValidatorConfig ¶
type IDTokenValidatorConfig struct { // Clock is used by the validator when checking expiry and issuer times of // tokens. If omitted, a real clock will be used. Clock clockwork.Clock // contains filtered or unexported fields }
IDTokenValidatorConfig contains the configuration options needed to control the behavior of IDTokenValidator.
Click to show internal directories.
Click to hide internal directories.