Documentation ¶
Overview ¶
Package scram implements a SCRAM-{SHA-1,etc} client per RFC5802.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client implements a SCRAM-* client (SCRAM-SHA-1, SCRAM-SHA-256, etc).
A Client may be used within a SASL conversation with logic resembling:
var in []byte var client = scram.NewClient(sha1.New, user, pass) for client.Step(in) { out := client.Out() // send out to server in := serverOut } if client.Err() != nil { // auth failed }
func NewClient ¶
NewClient returns a new SCRAM-* client with the provided hash algorithm.
For SCRAM-SHA-1, for example, use:
client := scram.NewClient(sha1.New, user, pass)
func (*Client) Err ¶
Err returns the error that occurred, or nil if there were no errors.
func (*Client) Out ¶
Out returns the data to be sent to the server in the current step.
func (*Client) SetNonce ¶
SetNonce sets the client nonce to the provided value. If not set, the nonce is generated automatically out of crypto/rand on the first step.
Click to show internal directories.
Click to hide internal directories.