User authentication and session management for web applications
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

json: rename mem -> member / finish -> seal across the codec + value API

Object combinators: [Object.mem] -> [Object.member], [Object.opt_mem]
-> [Object.opt_member], [Object.case_mem] -> [Object.case_member]. The
sibling submodules [Object.Mem] / [Object.Mems] become
[Object.Member] / [Object.Members]. RFC 8259 §4 calls these
"name/value pairs, referred to as the members", so mirror the spec
name rather than the shortened [mem].

[Object.finish] -> [Object.seal]. "Seal" reads as "close the map, no
more members added", which is what the operation does.

Value constructors/queries: [Value.mem] (function) -> [Value.member];
[Value.mem_find] -> [Value.member_key]; [Value.mem_names] ->
[Value.member_names]; [Value.mem_keys] -> [Value.member_keys].
[type mem = ...] -> [type member = ...]; [type object'] still points
at [member list].

Downstream (~80 files across slack, sbom, stripe, sigstore, requests,
claude, irmin, freebox) updated via perl-pie. dune build clean,
dune test ocaml-json clean.

+4 -3
+1 -1
auth.opam
··· 8 8 depends: [ 9 9 "dune" {>= "3.21"} 10 10 "ocaml" {>= "5.1"} 11 - "bytesrw" 12 11 "crypto-rng" 13 12 "csrf" 14 13 "fmt" ··· 20 19 "requests" 21 20 "respond" 22 21 "sqlite" 22 + "loc" 23 23 "odoc" {with-doc} 24 24 ] 25 25 build: [
+2 -2
dune-project
··· 13 13 (tags (org:blacksun crypto network)) 14 14 (depends 15 15 (ocaml (>= 5.1)) 16 - bytesrw 17 16 crypto-rng 18 17 csrf 19 18 fmt ··· 23 22 ohex 24 23 requests 25 24 respond 26 - sqlite)) 25 + sqlite 26 + loc))
+1
test/test_auth.ml
··· 333 333 ~authorize_url:"https://corp.example.com/auth" 334 334 ~token_url:"https://corp.example.com/token" 335 335 ~userinfo_url:"https://corp.example.com/user" ~uid_field:"employee_id" 336 + () 336 337 with 337 338 | Ok p -> Oauth.Custom p 338 339 | Error (`Msg msg) -> failwith msg