mirror of
https://github.com/0rangebananaspy/authelia.git
synced 2024-09-14 22:47:21 +07:00
8f05846e21
This implements Webauthn. Old devices can be used to authenticate via the appid compatibility layer which should be automatic. New devices will be registered via Webauthn, and devices which do not support FIDO2 will no longer be able to be registered. At this time it does not fully support multiple devices (backend does, frontend doesn't allow registration of additional devices). Does not support passwordless.
62 lines
3.1 KiB
Go
62 lines
3.1 KiB
Go
package storage
|
|
|
|
import (
|
|
"errors"
|
|
)
|
|
|
|
var (
|
|
// ErrNoAuthenticationLogs error thrown when no matching authentication logs hve been found in DB.
|
|
ErrNoAuthenticationLogs = errors.New("no matching authentication logs found")
|
|
|
|
// ErrNoTOTPConfiguration error thrown when no TOTP configuration has been found in DB.
|
|
ErrNoTOTPConfiguration = errors.New("no TOTP configuration for user")
|
|
|
|
// ErrNoWebauthnDevice error thrown when no Webauthn device handle has been found in DB.
|
|
ErrNoWebauthnDevice = errors.New("no Webauthn device found")
|
|
|
|
// ErrNoDuoDevice error thrown when no Duo device and method has been found in DB.
|
|
ErrNoDuoDevice = errors.New("no Duo device and method saved")
|
|
|
|
// ErrNoAvailableMigrations is returned when no available migrations can be found.
|
|
ErrNoAvailableMigrations = errors.New("no available migrations")
|
|
|
|
// ErrMigrateCurrentVersionSameAsTarget is returned when the target version is the same as the current.
|
|
ErrMigrateCurrentVersionSameAsTarget = errors.New("current version is same as migration target, no action being taken")
|
|
|
|
// ErrSchemaAlreadyUpToDate is returned when the schema is already up to date.
|
|
ErrSchemaAlreadyUpToDate = errors.New("schema already up to date")
|
|
|
|
// ErrNoMigrationsFound is returned when no migrations were found.
|
|
ErrNoMigrationsFound = errors.New("no schema migrations found")
|
|
|
|
// ErrSchemaEncryptionVersionUnsupported is returned when the schema is checked if the encryption key is valid for
|
|
// the database but the schema doesn't support encryption.
|
|
ErrSchemaEncryptionVersionUnsupported = errors.New("schema version doesn't support encryption")
|
|
|
|
// ErrSchemaEncryptionInvalidKey is returned when the schema is checked if the encryption key is valid for
|
|
// the database but the key doesn't appear to be valid.
|
|
ErrSchemaEncryptionInvalidKey = errors.New("the encryption key is not valid against the schema check value")
|
|
)
|
|
|
|
// Error formats for the storage provider.
|
|
const (
|
|
ErrFmtMigrateUpTargetLessThanCurrent = "schema up migration target version %d is less then the current version %d"
|
|
ErrFmtMigrateUpTargetGreaterThanLatest = "schema up migration target version %d is greater then the latest version %d which indicates it doesn't exist"
|
|
ErrFmtMigrateDownTargetGreaterThanCurrent = "schema down migration target version %d is greater than the current version %d"
|
|
ErrFmtMigrateDownTargetLessThanMinimum = "schema down migration target version %d is less than the minimum version"
|
|
ErrFmtMigrateAlreadyOnTargetVersion = "schema migration target version %d is the same current version %d"
|
|
)
|
|
|
|
const (
|
|
errFmtFailedMigration = "schema migration %d (%s) failed: %w"
|
|
errFmtFailedMigrationPre1 = "schema migration pre1 failed: %w"
|
|
errFmtSchemaCurrentGreaterThanLatestKnown = "current schema version is greater than the latest known schema " +
|
|
"version, you must downgrade to schema version %d before you can use this version of Authelia"
|
|
)
|
|
|
|
const (
|
|
logFmtMigrationFromTo = "Storage schema migration from %s to %s is being attempted"
|
|
logFmtMigrationComplete = "Storage schema migration from %s to %s is complete"
|
|
logFmtErrClosingConn = "Error occurred closing SQL connection: %v"
|
|
)
|