123456789101112131415161718192021222324252627282930313233343536 |
- package main
- import (
- "crypto/sha256"
- "crypto/sha512"
- "hash"
- "github.com/xdg/scram"
- )
- var SHA256 scram.HashGeneratorFcn = func() hash.Hash { return sha256.New() }
- var SHA512 scram.HashGeneratorFcn = func() hash.Hash { return sha512.New() }
- type XDGSCRAMClient struct {
- *scram.Client
- *scram.ClientConversation
- scram.HashGeneratorFcn
- }
- func (x *XDGSCRAMClient) Begin(userName, password, authzID string) (err error) {
- x.Client, err = x.HashGeneratorFcn.NewClient(userName, password, authzID)
- if err != nil {
- return err
- }
- x.ClientConversation = x.Client.NewConversation()
- return nil
- }
- func (x *XDGSCRAMClient) Step(challenge string) (response string, err error) {
- response, err = x.ClientConversation.Step(challenge)
- return
- }
- func (x *XDGSCRAMClient) Done() bool {
- return x.ClientConversation.Done()
- }
|