(clackup
(builder
(<clack-middleware-auth-basic>
:authenticator #'(lambda (user pass)
(and (string= user "hoge")
(string= pass "fuga"))))
app)) Clack.Middleware.Auth.Basic allows to basic authenticate simply. All you have to do is pass a function to authenticate to <clack-middleware-auth-basic>, :authenticator.
(make-instance '<clack-middleware-auth-basic>
:authenticator
#'(lambda (user pass)
;; Authenticate here and return t or nil.
)) Clack Middleware to authenticate.