Files
photoprism/pkg/authn/errors.go
2024-07-10 17:24:02 +02:00

92 lines
4.3 KiB
Go

package authn
import (
"errors"
"fmt"
"github.com/photoprism/photoprism/pkg/txt"
)
// Generic error messages for authentication and authorization:
var (
ErrUnauthorized = errors.New("unauthorized")
ErrAccountAlreadyExists = errors.New("account already exists")
ErrAccountNotFound = errors.New("account not found")
ErrAccountDisabled = errors.New("account disabled")
ErrAccountCreateFailed = errors.New("failed to create account")
ErrAccountUpdateFailed = errors.New("failed to update account")
ErrInvalidRequest = errors.New("invalid request")
ErrInvalidCredentials = errors.New("invalid credentials")
ErrInvalidShareToken = errors.New("invalid share token")
ErrTokenRequired = errors.New("token required")
ErrInvalidToken = errors.New("invalid token")
ErrInvalidTokenType = errors.New("invalid token type")
ErrInsufficientScope = errors.New("insufficient scope")
ErrNameRequired = errors.New("name required")
ErrScopeRequired = errors.New("scope required")
ErrContextRequired = errors.New("context required")
ErrDisabledInPublicMode = errors.New("disabled in public mode")
ErrAuthenticationDisabled = errors.New("authentication disabled")
ErrRateLimitExceeded = errors.New("rate limit exceeded")
)
// OIDC and OAuth2-related error messages:
var (
ErrInvalidProviderConfiguration = errors.New("invalid provider configuration")
ErrInvalidGrantType = errors.New("invalid grant type")
ErrInvalidClientID = errors.New("invalid client id")
ErrInvalidAuthID = errors.New("invalid auth id")
ErrAuthProviderIsNotOIDC = errors.New("auth provider is not oidc")
ErrAuthIDRequired = errors.New("auth id required")
ErrAuthCodeRequired = errors.New("auth code required")
ErrClientIDRequired = errors.New("client id required")
ErrInvalidClientSecret = errors.New("invalid client secret")
ErrClientSecretRequired = errors.New("client secret required")
ErrVerifiedEmailRequired = errors.New("verified email required")
ErrRegistrationDisabled = errors.New("registration disabled")
)
// User-related error messages:
var (
ErrUserRequired = errors.New("user required")
ErrUsernameRequired = errors.New("username required")
ErrUsernameRequiredToRegister = errors.New("username required to register")
ErrInvalidUser = errors.New("invalid user")
ErrUserDoesNotMatch = errors.New("user does not match")
ErrUsernameDoesNotMatch = errors.New("specified username does not match")
)
// Passcode-related error messages:
var (
ErrPasscodeRequired = errors.New("passcode required")
ErrPasscodeNotSetUp = errors.New("passcode required, but not configured")
ErrPasscodeNotVerified = errors.New("passcode not verified")
ErrPasscodeAlreadyActivated = errors.New("passcode already activated")
ErrPasscodeGenerateFailed = errors.New("failed to generate passcode")
ErrPasscodeCreateFailed = errors.New("failed to create passcode")
ErrPasscodeSaveFailed = errors.New("failed to save passcode")
ErrPasscodeVerificationFailed = errors.New("failed to verify passcode")
ErrPasscodeActivationFailed = errors.New("failed to activate passcode")
ErrPasscodeDeactivationFailed = errors.New("failed to deactivate passcode")
ErrPasscodeNotSupported = errors.New("passcode not supported")
ErrInvalidPasscode = errors.New("invalid passcode")
ErrInvalidPasscodeFormat = errors.New("invalid passcode format")
ErrInvalidPasscodeKey = errors.New("invalid passcode key")
ErrInvalidPasscodeType = errors.New("invalid passcode type")
)
// Password-related error messages:
var (
ErrInvalidPassword = errors.New("invalid password")
ErrPasswordRequired = errors.New("password required")
ErrPasswordTooShort = errors.New("password is too short")
ErrPasswordTooLong = errors.New(fmt.Sprintf("password must have less than %d characters", txt.ClipPassword))
ErrPasswordsDoNotMatch = errors.New("passwords do not match")
)
// WebDAV-related error messages:
var (
ErrWebDAVAccessDisabled = errors.New("webdav access is disabled")
ErrFailedToCreateUploadPath = errors.New("failed to create upload path")
)