Documentation
¶
Index ¶
- func MakeAuthManager(logger slog.Instance, dbHandler DatabaseHandler) interfaces.AuthManager
- func MakeTokenManager(logger slog.Instance, dbHandler DatabaseHandler) interfaces.TokenManager
- type DBAuth
- type DBToken
- type DatabaseAuthManager
- func (ram *DatabaseAuthManager) ChangePassword(username, password string) error
- func (ram *DatabaseAuthManager) LoginAdd(username, password, fullname, fingerprint string) error
- func (ram *DatabaseAuthManager) LoginAuth(username, password string) (fingerPrint, fullname string, err error)
- func (ram *DatabaseAuthManager) UserExists(username string) bool
- type DatabaseHandler
- type DatabaseTokenManager
- func (rtm *DatabaseTokenManager) AddUser(user interfaces.UserData) string
- func (rtm *DatabaseTokenManager) AddUserWithExpiration(user interfaces.UserData, expiration int) string
- func (rtm *DatabaseTokenManager) GetUserData(token string) interfaces.UserData
- func (rtm *DatabaseTokenManager) InvalidateToken(token string) error
- func (rtm *DatabaseTokenManager) Verify(token string) error
- type GPGRepository
- type HealthChecker
- type JSONAuthManager
- func (jam *JSONAuthManager) ChangePassword(username, password string) error
- func (jam *JSONAuthManager) LoginAdd(username, password, fullname, fingerprint string) error
- func (jam *JSONAuthManager) LoginAuth(username, password string) (fingerPrint, fullname string, err error)
- func (jam *JSONAuthManager) UserExists(username string) bool
- type MemoryTokenManager
- func (mtm *MemoryTokenManager) AddUser(user interfaces.UserData) string
- func (mtm *MemoryTokenManager) AddUserWithExpiration(user interfaces.UserData, expiration int) string
- func (mtm *MemoryTokenManager) GetUserData(token string) interfaces.UserData
- func (mtm *MemoryTokenManager) InvalidateToken(token string) error
- func (mtm *MemoryTokenManager) Verify(token string) error
- type MigrationHandler
- type UserRepository
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MakeAuthManager ¶
func MakeAuthManager(logger slog.Instance, dbHandler DatabaseHandler) interfaces.AuthManager
MakeAuthManager creates an instance of auth manager. If Rethink is enabled returns an DatabaseAuthManager, if not a JSONAuthManager
func MakeTokenManager ¶
func MakeTokenManager(logger slog.Instance, dbHandler DatabaseHandler) interfaces.TokenManager
MakeTokenManager creates an instance of token manager. If Rethink is enabled returns an DatabaseTokenManager, if not a MemoryTokenManager
Types ¶
type DatabaseAuthManager ¶ added in v1.4.0
func NewDatabaseAuthManager ¶ added in v1.4.0
func NewDatabaseAuthManager(logger slog.Instance, dbAuth DBAuth) *DatabaseAuthManager
NewDatabaseAuthManager creates an instance of Auth Manager that uses RethinkDB as storage
func (*DatabaseAuthManager) ChangePassword ¶ added in v1.4.0
func (ram *DatabaseAuthManager) ChangePassword(username, password string) error
ChangePassword changes the password of the specified user
func (*DatabaseAuthManager) LoginAdd ¶ added in v1.4.0
func (ram *DatabaseAuthManager) LoginAdd(username, password, fullname, fingerprint string) error
LoginAdd creates a new user in AuthManager
func (*DatabaseAuthManager) LoginAuth ¶ added in v1.4.0
func (ram *DatabaseAuthManager) LoginAuth(username, password string) (fingerPrint, fullname string, err error)
LoginAuth performs a login with the specified username and password
func (*DatabaseAuthManager) UserExists ¶ added in v1.4.0
func (ram *DatabaseAuthManager) UserExists(username string) bool
UserExists checks if a user with specified username exists in AuthManager
type DatabaseHandler ¶ added in v1.4.0
type DatabaseHandler interface { MigrationHandler GPGRepository UserRepository HealthChecker }
func MakeDatabaseHandler ¶ added in v1.4.0
func MakeDatabaseHandler(logger slog.Instance) (dbh DatabaseHandler, err error)
MakeDatabaseHandler initializes a Database Access Handler based on the current configuration
type DatabaseTokenManager ¶ added in v1.4.0
type DatabaseTokenManager struct {
// contains filtered or unexported fields
}
func MakeDatabaseTokenManager ¶ added in v1.4.0
func MakeDatabaseTokenManager(logger slog.Instance, dbToken DBToken) *DatabaseTokenManager
MakeDatabaseTokenManager creates an instance of TokenManager that stores data in RethinkDB
func (*DatabaseTokenManager) AddUser ¶ added in v1.4.0
func (rtm *DatabaseTokenManager) AddUser(user interfaces.UserData) string
AddUser adds a user to Token Manager and returns a login token
func (*DatabaseTokenManager) AddUserWithExpiration ¶ added in v1.4.0
func (rtm *DatabaseTokenManager) AddUserWithExpiration(user interfaces.UserData, expiration int) string
AddUserWithExpiration adds an user to Token Manager that will expires in `expiration` seconds.
func (*DatabaseTokenManager) GetUserData ¶ added in v1.4.0
func (rtm *DatabaseTokenManager) GetUserData(token string) interfaces.UserData
GetUserData returns the user data for the specified token
func (*DatabaseTokenManager) InvalidateToken ¶ added in v1.4.0
func (rtm *DatabaseTokenManager) InvalidateToken(token string) error
InvalidateToken removes a token from the database making it unusable in the future
func (*DatabaseTokenManager) Verify ¶ added in v1.4.0
func (rtm *DatabaseTokenManager) Verify(token string) error
Verify verifies if the specified token is valid
type GPGRepository ¶ added in v1.4.0
type GPGRepository interface { AddGPGKey(key models.GPGKey) (string, bool, error) // AddGPGKey adds a list GPG Key to the database or update an existing one by fingerprint // Same as AddGPGKey but in a single transaction AddGPGKeys(keys []models.GPGKey) (ids []string, addeds []bool, err error) FindGPGKeyByEmail(email string, pageStart, pageEnd int) ([]models.GPGKey, error) FindGPGKeyByFingerPrint(fingerPrint string, pageStart, pageEnd int) ([]models.GPGKey, error) FindGPGKeyByValue(value string, pageStart, pageEnd int) ([]models.GPGKey, error) FindGPGKeyByName(name string, pageStart, pageEnd int) ([]models.GPGKey, error) FetchGPGKeyByFingerprint(fingerprint string) (*models.GPGKey, error) FetchGPGKeysWithoutSubKeys() (res []models.GPGKey, err error) DeleteGPGKey(key models.GPGKey) error UpdateGPGKey(key models.GPGKey) (err error) }
type HealthChecker ¶ added in v1.4.0
type HealthChecker interface {
HealthCheck() error
}
type JSONAuthManager ¶
func MakeJSONAuthManager ¶
func MakeJSONAuthManager(logger slog.Instance) *JSONAuthManager
MakeJSONAuthManager creates an instance of AuthManager that uses JSON Storage
func (*JSONAuthManager) ChangePassword ¶
func (jam *JSONAuthManager) ChangePassword(username, password string) error
func (*JSONAuthManager) LoginAdd ¶
func (jam *JSONAuthManager) LoginAdd(username, password, fullname, fingerprint string) error
func (*JSONAuthManager) LoginAuth ¶
func (jam *JSONAuthManager) LoginAuth(username, password string) (fingerPrint, fullname string, err error)
func (*JSONAuthManager) UserExists ¶
func (jam *JSONAuthManager) UserExists(username string) bool
type MemoryTokenManager ¶
type MemoryTokenManager struct {
// contains filtered or unexported fields
}
func MakeMemoryTokenManager ¶
func MakeMemoryTokenManager(logger slog.Instance) *MemoryTokenManager
MakeMemoryTokenManager creates an instance of TokenManager managed in memory
func (*MemoryTokenManager) AddUser ¶
func (mtm *MemoryTokenManager) AddUser(user interfaces.UserData) string
func (*MemoryTokenManager) AddUserWithExpiration ¶
func (mtm *MemoryTokenManager) AddUserWithExpiration(user interfaces.UserData, expiration int) string
func (*MemoryTokenManager) GetUserData ¶
func (mtm *MemoryTokenManager) GetUserData(token string) interfaces.UserData
func (*MemoryTokenManager) InvalidateToken ¶
func (mtm *MemoryTokenManager) InvalidateToken(token string) error
InvalidateToken removes a token from the internal memory making it unusable in the future
func (*MemoryTokenManager) Verify ¶
func (mtm *MemoryTokenManager) Verify(token string) error
type MigrationHandler ¶ added in v1.4.0
type UserRepository ¶ added in v1.4.0
type UserRepository interface { GetUser(username string) (um *models.User, err error) AddUserToken(ut models.UserToken) (string, error) RemoveUserToken(token string) (err error) GetUserToken(token string) (ut *models.UserToken, err error) InvalidateUserTokens() (int, error) AddUser(um models.User) (string, error) UpdateUser(um models.User) error }