Yesod无会话身份验证

And*_*her 7 authentication haskell basic-authentication yesod bearer-token

我使用Yesod为基于Angular的应用程序构建一个纯REST后端.此应用程序将与CDN分开托管,并且需要连接到Yesod api以及其他一些应用程序.有没有办法让Yesod接受Bearer令牌而不是使用cookie会话进行身份验证?

Mic*_*man 13

我们在www.fpcomplete.com上做了类似的事情.您可以通过重写类型类中的maybeAuthId方法YesodAuth来检查Bearer令牌.对于fpcomplete.com,我们检查授权请求标头,其类似于:

req <- waiRequest
mUserId <-
    case lookup "authorization" (requestHeaders req) of
        Nothing -> doNormalAuthentication
        Just authHeader -> checkAuthHeader
Run Code Online (Sandbox Code Playgroud)