Module type TOTP.MODEL

MODEL contains requirements for user model in order to use the strategy

type t
val otp_secret : t -> string

Retrieves secret for TOTP for the user

val otp_enabled : t -> bool

Checks if TOTP has already been setup for the user. Returns: true if the user can use TOTP strategy.

val set_otp_secret : Dream.request -> t -> string -> t Lwt.t

Sets TOTP secret during setup. Returns updated user.

val set_otp_enabled : Dream.request -> t -> bool -> t Lwt.t

Enables TOTP. Returns updated user.