credential

package
v4.8.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2021 License: Apache-2.0 Imports: 3 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// ProtocolHmac will hold access key and secret key credential.
	//
	// HMAC means hash-based message authentication code, it may be inaccurate to represent credential
	// protocol ak/sk(access key + secret key with hmac), but it's simple and no confuse with other
	// protocol, so just keep this.
	//
	// value = [Access Key, Secret Key]
	ProtocolHmac = "hmac"
	// ProtocolAPIKey will hold api key credential.
	//
	// value = [API Key]
	ProtocolAPIKey = "apikey"
	// ProtocolFile will hold file credential.
	//
	// value = [File Path], service decide how to use this file
	ProtocolFile = "file"
	// ProtocolEnv will represent credential from env.
	//
	// value = [], service retrieves credential value from env.
	ProtocolEnv = "env"
	// ProtocolBase64 will represents credential binary data in base64
	//
	// Storage service like gcs will take token files as input, we provide base64 protocol so that user
	// can pass token binary data directly.
	ProtocolBase64 = "base64"
)

Variables

View Source
var (
	// ErrUnsupportedProtocol means protocol is unsupported
	ErrUnsupportedProtocol = errors.New("unsupported protocol")
	// ErrInvalidValue means value is invalid.
	ErrInvalidValue = errors.New("invalid value")
)

Functions

This section is empty.

Types

type Error

type Error struct {
	Op  string
	Err error

	Protocol string
	Values   []string
}

Error represents error related to credential.

func (Error) Error

func (e Error) Error() string

func (Error) Unwrap

func (e Error) Unwrap() error

Unwrap implements xerrors.Wrapper

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider will provide credential protocol and values.

func NewAPIKey

func NewAPIKey(apiKey string) Provider

NewAPIKey create a api key provider.

func NewBase64

func NewBase64(value string) Provider

NewBase64 create a base64 provider.

func NewEnv

func NewEnv() Provider

NewEnv create a env provider.

func NewFile

func NewFile(filePath string) Provider

NewFile create a file provider.

func NewHmac

func NewHmac(accessKey, secretKey string) Provider

NewHmac create a hmac provider.

func Parse

func Parse(cfg string) (Provider, error)

Parse will parse config string to create a credential Provider.

func (Provider) APIKey

func (p Provider) APIKey() (apiKey string)

func (Provider) Base64

func (p Provider) Base64() (value string)

func (Provider) File

func (p Provider) File() (path string)

func (Provider) Hmac

func (p Provider) Hmac() (accessKey, secretKey string)

func (Provider) Protocol

func (p Provider) Protocol() string

Protocol provides current credential's protocol.

func (Provider) String

func (p Provider) String() string

Value provides current credential's value in string array.

func (Provider) Value

func (p Provider) Value() []string

Value provides current credential's value in string array.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL