oauth2-proxy/oauth2-proxy

View on GitHub
pkg/apis/options/header.go

Summary

Maintainability
A
0 mins
Test Coverage
package options

// Header represents an individual header that will be added to a request or
// response header.
type Header struct {
    // Name is the header name to be used for this set of values.
    // Names should be unique within a list of Headers.
    Name string `json:"name,omitempty"`

    // PreserveRequestValue determines whether any values for this header
    // should be preserved for the request to the upstream server.
    // This option only applies to injected request headers.
    // Defaults to false (headers that match this header will be stripped).
    PreserveRequestValue bool `json:"preserveRequestValue,omitempty"`

    // Values contains the desired values for this header
    Values []HeaderValue `json:"values,omitempty"`
}

// HeaderValue represents a single header value and the sources that can
// make up the header value
type HeaderValue struct {
    // Allow users to load the value from a secret source
    *SecretSource `json:",omitempty"`

    // Allow users to load the value from a session claim
    *ClaimSource `json:",omitempty"`
}

// ClaimSource allows loading a header value from a claim within the session
type ClaimSource struct {
    // Claim is the name of the claim in the session that the value should be
    // loaded from.
    Claim string `json:"claim,omitempty"`

    // Prefix is an optional prefix that will be prepended to the value of the
    // claim if it is non-empty.
    Prefix string `json:"prefix,omitempty"`

    // BasicAuthPassword converts this claim into a basic auth header.
    // Note the value of claim will become the basic auth username and the
    // basicAuthPassword will be used as the password value.
    BasicAuthPassword *SecretSource `json:"basicAuthPassword,omitempty"`
}