Есть ли проект с открытым исходным кодом, который использует Hoplon и который выполняет веб-аутентификацию?
Я ищу что-то похожее на noir-auth-app, но сделанное с hoplon.
Спасибо!
1 ответ
Решение
Вы можете посмотреть на некоторый базовый код аутентификации в демонстрационной версии Castra-Chat.
Аутентификация в Castra выполняется посредством аннотаций на функциях оконечной точки RPC. Эти аннотации становятся утверждениями, когда функция вызывается в качестве конечной точки вызова RPC, но не при вызове из REPL или другой функции. Думайте об этом как о способе внедрения кода в функцию только тогда, когда функция вызывается клиентом. Эта архитектура имеет несколько преимуществ:
- Аутентификация становится своего рода предварительным условием для самих функций RPC, но, поскольку они реализованы как аннотации к функциям, они не связаны с проблемами функций RPC.
- Аутентификация, реализованная таким образом, является завершающей по времени: любая схема аутентификации, которую можно представить, может быть реализована в вашем приложении напрямую, как библиотека clojure. Лисп может сделать это (тм). Просто поверь:)
- Вы можете создавать функции RPC без необходимости имитировать состояние, поскольку оцениваются только аннотации конечной точки, которую клиент вызвал напрямую.
- Вы можете вызывать конечные точки RPC в REPL или из тестов без необходимости имитировать состояние. Конечно, если вы хотите проверить предварительные условия, которые возможны также из REPL.