good morning!!!!

Skip to content
Snippets Groups Projects
credentials.go 875 B
Newer Older
Garet Halliday's avatar
Garet Halliday committed
package auth

type Credentials interface {
Garet Halliday's avatar
Garet Halliday committed
}

Garet Halliday's avatar
Garet Halliday committed
	Credentials

	EncodeCleartext() string
Garet Halliday's avatar
Garet Halliday committed
	VerifyCleartext(value string) error
}

Garet Halliday's avatar
Garet Halliday committed
	Credentials

	EncodeMD5(salt [4]byte) string
Garet Halliday's avatar
Garet Halliday committed
	VerifyMD5(salt [4]byte, value string) error
}

type SASLMechanism = string

const (
	ScramSHA256 SASLMechanism = "SCRAM-SHA-256"
)

type SASLEncoder interface {
	Write([]byte) ([]byte, error)
}

type SASLVerifier interface {
	Write(bytes []byte) ([]byte, error)
}

type SASLClient interface {
	Credentials

	EncodeSASL(mechanisms []SASLMechanism) (SASLMechanism, SASLEncoder, error)
}

type SASLServer interface {
Garet Halliday's avatar
Garet Halliday committed
	Credentials

	SupportedSASLMechanisms() []SASLMechanism

	VerifySASL(mechanism SASLMechanism) (SASLVerifier, error)
}