mirror of https://github.com/kubernetes/kops.git
30 lines
720 B
Go
30 lines
720 B
Go
package auth
|
|
|
|
import "net/http"
|
|
|
|
// Auth implement methods required for authentication.
|
|
// Valid authentication are currently a token or no auth.
|
|
type Auth interface {
|
|
// Headers returns headers that must be add to the http request
|
|
Headers() http.Header
|
|
|
|
// AnonymizedHeaders returns an anonymised version of Headers()
|
|
// This method could be use for logging purpose.
|
|
AnonymizedHeaders() http.Header
|
|
}
|
|
|
|
type headerAnonymizer func(header http.Header) http.Header
|
|
|
|
var headerAnonymizers = []headerAnonymizer{
|
|
AnonymizeTokenHeaders,
|
|
AnonymizeJWTHeaders,
|
|
}
|
|
|
|
func AnonymizeHeaders(headers http.Header) http.Header {
|
|
for _, anonymizer := range headerAnonymizers {
|
|
headers = anonymizer(headers)
|
|
}
|
|
|
|
return headers
|
|
}
|