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. // Calls store.Users.AddAuthRecord("user", "auth.Level", "scheme", "unique", "passhash", "expiration") // Returns: auth level, error AddRecord(rec *Rec, secret []byte) (Level, 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. // store.UpdateAuthRecord("scheme", "unique", "secret") 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 ID, user auth level, login expiration time, 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. // store.GetAuthRecord(scheme, 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 ¶
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 ¶
Click to show internal directories.
Click to hide internal directories.