Documentation ¶
Index ¶
- Constants
- func ClientIdAssertionFromMetadata(md metadata.MD) (string, bool)
- func ClientRandomFromMetadata(md metadata.MD) ([]byte, bool)
- func If(condition ConditionFunc) conditionalThen
- func Solve(req *corev1.ChallengeRequest, cm ClientMetadata, key []byte, domain string) *corev1.ChallengeResponse
- type ChallengeHandler
- type ClientMetadata
- type ConditionFunc
- type HandlerFunc
- type KeyringVerifier
- type PreCachedVerifier
Constants ¶
View Source
const ( // Deprecated: only used in challenge v1 ChallengeKey = "X-Challenge" ChallengeVersionMetadataKey = "x-challenge-version" ClientIdAssertionMetadataKey = "x-client-id-assertion" ClientRandomMetadataKey = "x-client-random" ChallengeV2 = "v2" )
Variables ¶
This section is empty.
Functions ¶
func If ¶
func If(condition ConditionFunc) conditionalThen
func Solve ¶
func Solve(req *corev1.ChallengeRequest, cm ClientMetadata, key []byte, domain string) *corev1.ChallengeResponse
Types ¶
type ChallengeHandler ¶
type ChallengeHandler interface { DoChallenge(stream streams.Stream) (context.Context, error) InterceptContext(ctx context.Context) context.Context }
func Chained ¶
func Chained(challenges ...ChallengeHandler) ChallengeHandler
type ClientMetadata ¶
func ClientMetadataFromIncomingContext ¶
func ClientMetadataFromIncomingContext(ctx context.Context) (ClientMetadata, error)
func ClientMetadataFromOutgoingContext ¶
func ClientMetadataFromOutgoingContext(ctx context.Context) (ClientMetadata, error)
type KeyringVerifier ¶
type KeyringVerifier interface {
Prepare(ctx context.Context, args ClientMetadata, req *corev1.ChallengeRequest) (PreCachedVerifier, error)
}
func NewKeyringVerifier ¶
func NewKeyringVerifier(ksb storage.KeyringStoreBroker, domain string, lg *zap.SugaredLogger) KeyringVerifier
type PreCachedVerifier ¶
type PreCachedVerifier interface {
Verify(response *corev1.ChallengeResponse) *keyring.SharedKeys
}
Click to show internal directories.
Click to hide internal directories.