package sihl-user

  1. Overview
  2. Docs

Source file web.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
let user_from_token find_user ?(key = "user_id") read_token req
    : Sihl.Contract.User.t option Lwt.t
  =
  let open Lwt.Syntax in
  match Sihl.Web.Request.bearer_token req with
  | Some token ->
    let* user_id = read_token token ~k:key in
    (match user_id with
    | None -> Lwt.return None
    | Some user_id -> find_user user_id)
  | None -> Lwt.return None
;;

let user_from_session find_user ?cookie_key ?secret ?(key = "user_id") req
    : Sihl.Contract.User.t option Lwt.t
  =
  match Sihl.Web.Session.find ?cookie_key ?secret key req with
  | Some user_id -> find_user user_id
  | None -> Lwt.return None
;;
OCaml

Innovation. Community. Security.