Существует ли проект с открытым исходным кодом, который использует Hoplon и обрабатывает веб-аутентификацию?

Я ищу что-то похожее на noir-auth-app, но сделанное с помощью hoplon.

Спасибо!


person leontalbot    schedule 02.06.2014    source источник


Ответы (1)


Вы можете посмотреть очень простой код аутентификации в демонстрации castra-chat.

Аутентификация в Castra выполняется с помощью аннотаций функций конечной точки RPC. Эти аннотации становятся утверждениями, когда функция вызывается как конечная точка вызова RPC, но не при вызове из REPL или из другой функции. Думайте об этом как о способе внедрения кода в функцию только тогда, когда функция вызывается клиентом. Эта архитектура имеет несколько преимуществ:

  • Аутентификация становится своего рода предварительным условием для самих функций RPC, но поскольку они реализованы в виде аннотаций к функциям, они не связаны с проблемами функций RPC.
  • Аутентификация, реализованная таким образом, является полной по Тьюрингу: любая схема аутентификации, которую можно себе представить, может быть реализована в вашем приложении напрямую, в виде библиотеки clojure. Лисп может это сделать (тм). Просто поверь :)
  • Вы можете создавать функции RPC без необходимости имитировать состояние, потому что оцениваются только аннотации конечной точки, которую клиент вызывает напрямую.
  • Вы можете вызывать конечные точки RPC в REPL или из тестов без необходимости имитировать состояние. Конечно, если вы хотите проверить предварительные условия, это возможно и в REPL.
person Micha Niskin    schedule 03.06.2014
comment
Спасибо Миша, я собираюсь взглянуть на это, вероятно, в эти выходные. - person leontalbot; 03.06.2014
comment
Конечно, дайте нам знать, если вам что-нибудь понадобится! - person Micha Niskin; 04.06.2014