Я занимаюсь разработкой приложения Erlang / OTP, которое будет предоставлять свои сервисы (SOA) через RESTful API.
Сервисы, составляющие бэкэнд, будут сервисом базы данных, сервисом расчета цен и т. Д.
Клиенты могут быть разных типов: веб-клиент, мобильные клиенты, клиент сервера Asterisk (который должен искать записи пользователей в службе базы данных) и даже клиенты, которые я не планирую иметь и о которых еще не знаю. Клиенты будут использовать RESTful API по-разному: некоторые будут использовать все службы, некоторые будут использовать только некоторые из служб (способ SOA).
Основная проблема, которая у меня есть, - это аутентификация / авторизация.
Я не могу использовать встроенную аутентификацию / авторизацию Ruby on Rails, потому что веб-клиент - это всего лишь один из множества возможных клиентов, которые будут использовать приложение через RESTful API.
Итак, мой вопрос:
- какова общая концепция аутентификации / авторизации для типичного веб-приложения RESTful, которое, как ожидается, будет использоваться с множеством разных клиентов?
- каков наиболее практичный шаблон проектирования программного обеспечения для авторизации / аутентификации в веб-приложении RESTful?
- Какие библиотеки программного обеспечения с открытым исходным кодом Erlang / OTP вы могли бы порекомендовать для реализации аутентификации / авторизации для такого приложения?