Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthHandler ¶
type AuthHandler interface {
// Init initialize the handler.
Init(jsonconf string) error
// AddRecord adds persistent record to database.
// Returns: updated auth record, error
AddRecord(rec *Rec, secret []byte) (*Rec, error)
// UpdateRecord updates existing record with new credentials. Returns a numeric error code to indicate
// if the error is due to a duplicate or some other error.
UpdateRecord(rec *Rec, secret []byte) error
// Authenticate: given a user-provided authentication secret (such as "login:password"
// return user ID, time when the secret expires (zero, if never) or an error code.
// store.Users.GetAuthRecord("scheme", "unique")
// Returns: user auth record, error.
Authenticate(secret []byte) (*Rec, error)
// IsUnique verifies if the provided secret can be considered unique by the auth scheme
// E.g. if login is unique.
IsUnique(secret []byte) (bool, error)
// GenSecret generates a new secret, if appropriate.
GenSecret(rec *Rec) ([]byte, time.Time, error)
// DelRecords deletes all authentication records for the given user.
DelRecords(uid types.Uid) error
}
AuthHandler is the interface which auth providers must implement.
type Level ¶ added in v0.14.4
type Level int
const ( // LevelNone is undefined/not authenticated LevelNone Level = iota * 10 // LevelAnon is anonymous user/light authentication LevelAnon // LevelAuth is fully authenticated user LevelAuth // LevelRoot is a superuser (currently unused) LevelRoot )
Authentication levels.
func ParseAuthLevel ¶ added in v0.14.4
Click to show internal directories.
Click to hide internal directories.