// AuthCnfg is an abstract auth config interface,
// allows different authentications strategies' dependency injection
type AuthCnfg interface {
// Authentication middleware fabric
// applyes round tripper or enriches requests with authentication and metadata
SetAuth(req *http.Request, client *SPClient) error
// Authentication initializer (token/cookie/header, expiration, error)
// to support cabability for exposing tokens for external tools
// e.g. as of this sample project https://github.com/koltyakov/spvault
GetAuth() (string, int64, error)
ParseConfig(jsonConf []byte) error // Parses credentials from a provided JSON byte array content
ReadConfig(configPath string) error // Reads credentials from storage
GetSiteURL() string // SiteURL getter method
GetStrategy() string // Strategy code getter