5

我正在尝试使用 Yesod 作为移动应用程序的 API 后端,并选择使用承载 JWT 来处理身份验证和授权。我已经覆盖maybeAuthId,以便 Yesod.Auth 接受(或拒绝)JWT 就好了。但是,我无法弄清楚如何让身份验证插件向客户端返回令牌,而不是其将 AuthId 存储在客户端会话中并重定向客户端的默认行为。有没有办法改变默认的身份验证插件流程,让它返回一个令牌给客户端?

更新:我已经在文档和源代码中研究了一段时间,并且对 auth 插件现在的工作方式有了更好的了解:Auth 插件在内部调用setCredsRedirect以设置会话并执行回调onLogin。using 的问题onLoginCreds无法从该函数内部访问。对于解决方案,我唯一的另一个想法是编辑authenticate函数以使用 JWT 进行响应。

4

0 回答 0