我正在使用 Yesod 为基于 Angular 的应用程序构建一个纯 REST 后端。此应用程序将与 CDN 单独托管,并且需要连接到 Yesod api 以及其他一些。有没有办法让 Yesod 接受承载 token 而不是使用 cookie session 进行身份验证?
最佳答案
我们在 www.fpcomplete.com 做类似的事情。您可以通过覆盖 maybeAuthId
来做到这一点。 YesodAuth
中的方法typeclass 来检查 Bearer token 。对于 fpcomplete.com,我们检查授权请求 header ,类似于:
req <- waiRequest
mUserId <-
case lookup "authorization" (requestHeaders req) of
Nothing -> doNormalAuthentication
Just authHeader -> checkAuthHeader
关于authentication - Yesod 无 session 认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22949684/