8

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

4

1 回答 1

14

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

req <- waiRequest
mUserId <-
    case lookup "authorization" (requestHeaders req) of
        Nothing -> doNormalAuthentication
        Just authHeader -> checkAuthHeader
于 2014-04-09T06:04:31.710 回答