auth.go 459 B

123456789101112131415161718192021222324252627
  1. package request
  2. import (
  3. "encoding/base64"
  4. "fmt"
  5. )
  6. type Authorization interface {
  7. Token() string
  8. }
  9. type BasicAuth struct {
  10. Username string
  11. Password string
  12. }
  13. type BearerAuth struct {
  14. AccessToken string
  15. }
  16. func (auth *BasicAuth) Token() string {
  17. return fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte(auth.Username+":"+auth.Password)))
  18. }
  19. func (auth *BearerAuth) Token() string {
  20. return fmt.Sprintf("Bearer %s", auth.AccessToken)
  21. }