1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
package grpctool
import (
"context"
"gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v16/internal/api"
"google.golang.org/grpc/credentials"
)
const (
MetadataAuthorization = "authorization"
)
func NewTokenCredentials(token api.AgentToken, insecure bool) credentials.PerRPCCredentials {
return &tokenCredentials{
authHeader: "Bearer " + string(token),
insecure: insecure,
}
}
type tokenCredentials struct {
authHeader string
insecure bool
}
func (t *tokenCredentials) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {
return map[string]string{
MetadataAuthorization: t.authHeader,
}, nil
}
func (t *tokenCredentials) RequireTransportSecurity() bool {
return !t.insecure
}
|