Documentation ¶
Index ¶
- func CheckAuthIdentity(authValue string, validFor string) (identityTokenStruct, error)
- func CheckIdentity(nick, password, validFor string) (identityTokenStruct, error)
- func GenerateEntityToken() string
- func GenerateIdentityToken() string
- func GenerateNick() string
- func GeneratePassword(length int) string
- func Hash(original string) string
- func Initialize(aDb DbInterface)
- func IsAuthIdentityTokenValid(authValue string, validFor string) bool
- func IsIdentityTokenValid(identityToken string, validFor string) bool
- type ConfigurationStruct
- type DbFile
- func (m DbFile) DeleteEntityToken(token string) error
- func (m DbFile) DeleteFilesFromDirectory(dir string) error
- func (m DbFile) EntityExists(nick string) bool
- func (m *DbFile) Initialize()
- func (m DbFile) ReadEntityByNick(nick string) (*Entity, error)
- func (m DbFile) ReadEntityToken(token string) (*EntityToken, error)
- func (m DbFile) SaveEntity(e *Entity) error
- func (m DbFile) SaveEntityToken(et *EntityToken) error
- type DbInterface
- type DbTransient
- func (m DbTransient) DeleteEntityToken(token string) error
- func (m DbTransient) EntityExists(nick string) bool
- func (m *DbTransient) Initialize()
- func (m DbTransient) ReadEntityByNick(nick string) (*Entity, error)
- func (m DbTransient) ReadEntityToken(token string) (*EntityToken, error)
- func (m DbTransient) SaveEntity(e *Entity) error
- func (m DbTransient) SaveEntityToken(et *EntityToken) error
- type Entity
- type EntityToken
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckAuthIdentity ¶
CheckAuthIdentity checks nick and password and provides and identity token (for validFor)
func CheckIdentity ¶
CheckIdentity checks nick and password and provides and identity token (for validFor)
func GenerateEntityToken ¶
func GenerateEntityToken() string
GenerateEntityToken generates a valid entity token
func GenerateIdentityToken ¶
func GenerateIdentityToken() string
GenerateIdentityToken generates a identity token
func GeneratePassword ¶
GeneratePassword generates a password
func IsAuthIdentityTokenValid ¶
IsAuthIdentityTokenValid checks if the identity token is valid, validFor contains information about the client, e.g. the IP address
func IsIdentityTokenValid ¶
IsIdentityTokenValid checks if the identity token is valid, validFor contains information about the client, e.g. the IP address
Types ¶
type ConfigurationStruct ¶
type ConfigurationStruct struct { Port string `json:"port"` EntityTokenValidityHours int `json:"entityTokenValidityHours"` IdentityTokenValiditySeconds int `json:"identityTokenValiditySeconds"` MaxSignInAttempts int `json:"maxSignInAttempts"` }
var Configuration ConfigurationStruct
type DbFile ¶
func (DbFile) DeleteEntityToken ¶
func (DbFile) DeleteFilesFromDirectory ¶ added in v0.0.2
func (DbFile) EntityExists ¶
func (*DbFile) Initialize ¶
func (m *DbFile) Initialize()
func (DbFile) ReadEntityToken ¶
func (m DbFile) ReadEntityToken(token string) (*EntityToken, error)
func (DbFile) SaveEntity ¶
func (DbFile) SaveEntityToken ¶
func (m DbFile) SaveEntityToken(et *EntityToken) error
type DbInterface ¶
type DbInterface interface { Initialize() ReadEntityByNick(nick string) (*Entity, error) EntityExists(nick string) bool SaveEntity(entity *Entity) error SaveEntityToken(entityToken *EntityToken) error ReadEntityToken(tokenoken string) (*EntityToken, error) DeleteEntityToken(token string) error }
var Db DbInterface
*******************************************************************
Database (persistent storage)
*******************************************************************
type DbTransient ¶ added in v0.0.2
type DbTransient struct {
// contains filtered or unexported fields
}
DbTransient - non-persistent database for testing and demonstration
func (DbTransient) DeleteEntityToken ¶ added in v0.0.2
func (m DbTransient) DeleteEntityToken(token string) error
func (DbTransient) EntityExists ¶ added in v0.0.2
func (m DbTransient) EntityExists(nick string) bool
func (*DbTransient) Initialize ¶ added in v0.0.2
func (m *DbTransient) Initialize()
func (DbTransient) ReadEntityByNick ¶ added in v0.0.2
func (m DbTransient) ReadEntityByNick(nick string) (*Entity, error)
func (DbTransient) ReadEntityToken ¶ added in v0.0.2
func (m DbTransient) ReadEntityToken(token string) (*EntityToken, error)
func (DbTransient) SaveEntity ¶ added in v0.0.2
func (m DbTransient) SaveEntity(e *Entity) error
func (DbTransient) SaveEntityToken ¶ added in v0.0.2
func (m DbTransient) SaveEntityToken(et *EntityToken) error
type Entity ¶
type Entity struct { Nick string `json:"nick"` PasswordHash string `json:"passwordHash"` SecretHash string `json:"secretHash"` Active bool `json:"active"` WrongPasswordCounter int `json:"WrongPasswordCounter"` LastSignInAttempt time.Time `json:"lastSignInAttempt"` LastSignIn time.Time `json:"lastSignIn"` CreateTimeStamp time.Time `json:"createTimeStamp"` UpdateTimeStamp time.Time `json:"updateTimeStamp"` }
******************************************************************* ENTITY The entity describes a person or device that needs authentication (and authorization). The entity is identified by the so called 'nick', which is similar to a username. The Entity also contains the hash of the password and hash of the secret. The secret is a second, much more complex, password and it is used to chance the password or to unlock the entity, after it was disabled, e.g. after multiple unsuccessful password entries. *******************************************************************
Entity describes a user or a device
type EntityToken ¶
*******************************************************************
ENTITY TOKEN Entity Tokens are use to create new entities. The administrator creates an entity token and sends it to the new user. The new user uses the entity token to create an new entity. After the entity was created, the entity token is deleted.
*******************************************************************
func NewEntityToken ¶
func NewEntityToken() EntityToken
NewEntityToken creates a new entity token (token itself and validity, comming from configuration)
func (EntityToken) Delete ¶
func (et EntityToken) Delete() error
Delete the entity token from database
Directories ¶
Path | Synopsis |
---|---|
The programm is a simple REST server and handles two request: 1.
|
The programm is a simple REST server and handles two request: 1. |