From f95d9bbde51ee26468177b2d34c669d9689fbea4 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Fri, 30 May 2025 02:55:35 -0400 Subject: web: Big refactor part 2 --- fig-web/src/Fig/Web/Auth.hs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 fig-web/src/Fig/Web/Auth.hs (limited to 'fig-web/src/Fig/Web/Auth.hs') diff --git a/fig-web/src/Fig/Web/Auth.hs b/fig-web/src/Fig/Web/Auth.hs new file mode 100644 index 0000000..5017b3e --- /dev/null +++ b/fig-web/src/Fig/Web/Auth.hs @@ -0,0 +1,27 @@ +module Fig.Web.Auth + ( Credentials(..) + , authed + ) where + +import Fig.Prelude + +import qualified Web.Scotty as Sc + +import Fig.Web.Types +import Fig.Web.Utils + +data Credentials = Credentials + { user :: Text + , email :: Text + } +authed :: SecureModuleArgs -> (Credentials -> Sc.ActionM ()) -> Sc.ActionM () +authed args h = do + muser <- header "Remote-User" + memail <- header "Remote-Email" + case (muser, memail) of + (Just user, Just email) -> do + let auth = Credentials{..} + h auth + _else -> do + status status401 + respondText "you're not logged in buddy (this is probably a bug, go message clonk)" -- cgit v1.2.3