我正在寻找类似于noir-auth-app但使用hoplon制作的东西。
谢谢!
您可以在casta -chat演示中查看一些非常基本的身份验证代码。
casta中的身份验证是通过RPC端点函数上的注释完成的。当函数作为RPC调用的端点被调用时,这些注释就变成了断言,但是当从REPL或从其他函数调用时就不是这样了。可以将其视为仅在客户端调用函数时才将代码注入函数的一种方法。这种架构有几个好处:
- 身份验证成为RPC函数本身的一种先决条件,但由于它们是作为函数上的注释实现的,因此它们不耦合到RPC函数的关注点。以这种方式实现的身份验证是完整的:任何可以想象的身份验证方案都可以直接在应用程序中实现,作为clojure库。Lisp可以做到(tm)。请相信我:)
- 您可以组合RPC函数而不需要模拟状态,因为只有客户端直接调用的端点的注释才会被评估。
- 您可以在REPL中或从测试中调用RPC端点,而无需模拟状态。当然,如果您希望测试先决条件,也可以从REPL中测试。