我目前正在制作 Scotty API,但找不到任何 basicAuth 实现的示例(Wai Middleware HttpAuth)。
具体来说,我想将基本身份验证标头(用户、通行证)添加到我的某些端点(即以“admin”开头的端点)。我已设置好所有内容,但我似乎无法区分哪些端点需要身份验证,哪些端点不需要。我知道我需要使用这样的东西,但它使用 Yesod,我无法将其翻译为 Scotty。
到目前为止,我有这个:
routes :: (App r m) => ScottyT LText m ()
routes = do
-- middlewares
middleware $ cors $ const $ Just simpleCorsResourcePolicy
{ corsRequestHeaders = ["Authorization", "Content-Type"]
, corsMethods = "PUT":"DELETE":simpleMethods
}
middleware $ basicAuth
(\u p -> return $ u == "username" && p == "password")
"My Realm"
-- errors
defaultHandler $ \str -> do
status status500
json str
-- feature routes
ItemController.routes
ItemController.adminRoutes
-- …Run Code Online (Sandbox Code Playgroud) authentication haskell functional-programming middleware scotty