qrz/vendor/github.com/lib/pq/krb.go

28 lines
815 B
Go
Raw Normal View History

2020-06-01 14:34:37 +02:00
package pq
2020-12-05 17:36:50 +01:00
// NewGSSFunc creates a GSS authentication provider, for use with
// RegisterGSSProvider.
type NewGSSFunc func() (GSS, error)
var newGss NewGSSFunc
// RegisterGSSProvider registers a GSS authentication provider. For example, if
// you need to use Kerberos to authenticate with your server, add this to your
// main package:
//
// import "github.com/lib/pq/auth/kerberos"
//
// func init() {
// pq.RegisterGSSProvider(func() (pq.GSS, error) { return kerberos.NewGSS() })
// }
func RegisterGSSProvider(newGssArg NewGSSFunc) {
newGss = newGssArg
}
2020-06-01 14:34:37 +02:00
2020-12-05 17:36:50 +01:00
// GSS provides GSSAPI authentication (e.g., Kerberos).
type GSS interface {
2020-06-01 14:34:37 +02:00
GetInitToken(host string, service string) ([]byte, error)
GetInitTokenFromSpn(spn string) ([]byte, error)
Continue(inToken []byte) (done bool, outToken []byte, err error)
}