Add global Authenticate() function.
Also finishes work started in last commit.
diff --git a/errors.go b/errors.go
index 079f0ae..58a898c 100644
--- a/errors.go
+++ b/errors.go
@@ -4,7 +4,24 @@
"fmt"
)
+// ErrNotImplemented should be used only while developing new SDK features.
+// No established function or method will ever produce this error.
var ErrNotImplemented = fmt.Errorf("Not implemented")
+
+// ErrProvider errors occur when attempting to reference an unsupported
+// provider. More often than not, this error happens due to a typo in
+// the name.
var ErrProvider = fmt.Errorf("Missing or incorrect provider")
+
+// ErrCredentials errors happen when attempting to authenticate using a
+// set of credentials not recognized by the Authenticate() method.
+// For example, not providing a username or password when attempting to
+// authenticate against an Identity V2 API.
var ErrCredentials = fmt.Errorf("Missing or incomplete credentials")
+
+// ErrConfiguration errors happen when attempting to add a new provider, and
+// the provider added lacks a correct or consistent configuration.
+// For example, all providers must expose at least an Identity V2 API
+// for authentication; if this endpoint isn't specified, you may receive
+// this error when attempting to register it against a context.
var ErrConfiguration = fmt.Errorf("Missing or incomplete configuration")