authentication - Yesod 无 session 认证

标签 authentication haskell basic-authentication yesod bearer-token

我正在使用 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/

相关文章:

Haskell:为什么 (+)、(-) 是 Num 类型类的一部分?

http - 基本接入认证安全吗?

windows - 从 emacs 运行时 svn 版本控制身份验证失败

ios - 像 Facebook-App 一样登录

php - 保护 PHP 网页访问

performance - Haskell 中具有 rank-2 多态性的令人费解的性能/输出行为

haskell - 获取数据并将其附加到列表中直至完成

仅限 Apache 基本身份验证 SSL

android - 为我的 Android 应用程序验证用户身份的最佳方法是什么?

java - Gmail 中的 SMTPSendFailedException 530,SMTP 失败而 IMAP 工作