Parameter Make.1-M

type t

Some representation of an entity to be authenticated

val serialize : t -> Base.string

serialize is to make a string from t to store in a session between requests. It should represent entity in a way allowing to regain it later with deserialize

val deserialize : Base.string -> ( t, Base.Error.t ) Base.Result.t

deserialize is to make t from string to use it in handlers. The string should be created by serialize. Returns: Ok t if deserialization was successful or Error string if an error occured

val identificate : Dream.request -> ( t, Base.Error.t ) Base.Result.t Dream.promise

identificate is to define which user is trying to authenticate. Retrieves its representation or returns an error

val applicable_strats : t -> Base.string Base.list

applicable_strats returns a list of strats which can be applied to the whole MODEL or to certain t. Strings are to be the same as STRATEGY.name