Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
ROUTER
is a module which contains handlers for authentication and creates routes for them.
type entity
is a type of authenticatable entity equal to MODEL.t
strategy
is a function that authenticates an entity from a request.
val login_handler :
strategy Base.list ->
(module RESPONSES) ->
Dream.request ->
Dream.response Lwt.t
login_handler
gets strats and redponses, starts authentication and handles its results
val logout_handler :
(module RESPONSES) ->
Dream.request ->
Dream.response Lwt.t
logout_handler
loguts authenticated user
val call :
?root:Base.string ->
responses:(module RESPONSES) ->
extractor:Static.Params.extractor ->
strategy Base.list ->
Dream.route
call ?root ~responses ~extractor strat_list
creates routes for authentication and added to Dream.router
.
Has some basic routes:
strategies
in order they were supplied in Auth_sign.AUTHENTICATOR.authenticate
. Handles the results and calls corresponding handlers from Auth_sign.RESPONSES
.Authenticator.logout
and responses with Auth_sign.RESPONSES.logout
extractor
defines how to extract params from requests for basic routes. See Static.Params.extractor
.
responses
define how to respond on these basic routes after handling authentication processes.
?root
defines the root for all authentication-related routes. Default is "/".