auth

Paddy 2014-09-01 Parent:1aa3a85ff853

28:75cf37088852 Go to Latest

auth/errors.go.old

Rough out tokens and begin the memstore. Rough out the Token type for working with OAuth2 access and refresh tokens. Rough out the TokenStore interface that dictates how Tokens will be stored and retrieved. Write tests for the successful (in the working-as-intended sense) calls to TokenStore. Begin a Memstore type that stores data in memory. Implement the TokenStore interface for Memstore.

History
paddy@23 1 package auth
paddy@23 2
paddy@23 3 import "errors"
paddy@23 4
paddy@23 5 const (
paddy@23 6 ErrorServerError = "server_error"
paddy@23 7 ErrorInvalidRequest = "invalid_request"
paddy@23 8 ErrorAccessDenied = "access_denied"
paddy@23 9 ErrorInvalidClient = "invalid_client"
paddy@23 10 ErrorInvalidGrant = "invalid_grant"
paddy@23 11 ErrorUnauthorizedClient = "unauthorized_client"
paddy@23 12 ErrorUnsupportedGrantType = "unsupported_grant_type"
paddy@23 13 ErrorInvalidScope = "invalid_scope"
paddy@23 14 )
paddy@23 15
paddy@23 16 var (
paddy@23 17 ClientNotFoundError = errors.New("Client not found.")
paddy@23 18 URIMissingError = errors.New("Redirect URI missing.")
paddy@23 19 InvalidMethodError = errors.New("Invalid request method.")
paddy@23 20 InternalServerError = errors.New("Internal server error.")
paddy@23 21 ErrorNotAuthenticated = errors.New("Not authenticated.")
paddy@23 22 InvalidClientError = errors.New("Invalid client.")
paddy@23 23 AuthorizationNotFoundError = errors.New("Authorization not found.")
paddy@23 24 ErrProfileNotFound = errors.New("Profile not found.")
paddy@23 25 TokenNotFoundError = errors.New("Token not found.")
paddy@23 26 NilClientError = errors.New("Client was nil.")
paddy@23 27 )
paddy@23 28
paddy@23 29 type URIFormatError string
paddy@23 30
paddy@23 31 func (err URIFormatError) Error() string {
paddy@23 32 return "Invalid URI format: " + string(err)
paddy@23 33 }
paddy@23 34
paddy@23 35 type InvalidClientIDError string
paddy@23 36
paddy@23 37 func (err InvalidClientIDError) Error() string {
paddy@23 38 return "Invalid client ID: " + string(err)
paddy@23 39 }
paddy@23 40
paddy@23 41 type URIMismatchError struct {
paddy@23 42 uri string
paddy@23 43 mismatch string
paddy@23 44 }
paddy@23 45
paddy@23 46 func (err URIMismatchError) Error() string {
paddy@23 47 return "Supplied redirect URI " + err.mismatch + " does not match the redirect in the database (" + err.uri + ")"
paddy@23 48 }
paddy@23 49
paddy@23 50 func NewURIMismatchError(uri, mismatch string) error {
paddy@23 51 return URIMismatchError{
paddy@23 52 uri: uri,
paddy@23 53 mismatch: mismatch,
paddy@23 54 }
paddy@23 55 }