41 lines
600 B
Go
41 lines
600 B
Go
package auth
|
|
|
|
import (
|
|
"context"
|
|
"encoding/base64"
|
|
"fmt"
|
|
)
|
|
|
|
type (
|
|
ServicerBasic struct {
|
|
user string
|
|
pass string
|
|
}
|
|
|
|
BasicParams struct {
|
|
User string
|
|
Pass string
|
|
}
|
|
)
|
|
|
|
func NewBasic(p BasicParams) (s ServicerBasic, err error) {
|
|
if p.User == "" {
|
|
err = fmt.Errorf("invalid param username")
|
|
return
|
|
}
|
|
|
|
if p.Pass == "" {
|
|
err = fmt.Errorf("invalid param password")
|
|
return
|
|
}
|
|
|
|
s = ServicerBasic{user: p.User, pass: p.Pass}
|
|
|
|
return
|
|
}
|
|
|
|
func (s ServicerBasic) Do(ctx context.Context) string {
|
|
auth := s.user + ":" + s.pass
|
|
return base64.StdEncoding.EncodeToString([]byte(auth))
|
|
}
|