Yesod无会话身份验证

时间:2014-04-08 22:47:22

标签: authentication haskell basic-authentication yesod bearer-token

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

1 个答案:

答案 0 :(得分:13)

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

req <- waiRequest
mUserId <-
    case lookup "authorization" (requestHeaders req) of
        Nothing -> doNormalAuthentication
        Just authHeader -> checkAuthHeader