Как реализовать аутентификацию AngularJs + Rails Api?

Всем привет!

Есть у нас такая вот архитектура информационной системы:

6c062c5f18804be9b361bd92bbe12f2a.png

Состоит она из Rails API-only приложения, к которому обращается web клиент, а также из группы Browser based клиентов, общающихся с API посредством Angular приложения, которое они периодически обновляют со стороннего сервера. Доступ к этой группе клиентов есть только один раз, дальше они должны работать независимо от системного администратора. Необходимо реализовать аутентификацию (например, через токен), чтобы каждый такой клиент имел доступ только к своей информации. Токен заранее прописать нельзя, т. к. Angular приложение периодически обновляется со своего сервера, да и что делать, если понадобится его поменять. Пока видится решение только через связку "очень долгая сессия + куки", но хотелось бы получить stateless-систему. Не могу понять, задача действительно нетривиальная, или мы в процессе обдумывания движемся прямиком к изобретению велосипеда?

Отсюда следующие вопросы:
1. Как лучше всего решить поставленную задачу?
2. Как можно усовершенствовать подобную архитектуру?
3. Можно ли объединить Rails API-only app и Rails web app для возможности использования нативных методов Rails в обход API? Или предпочтительнее реализовать хорошее API отдельно и дальше работать только через него?
4. Какой джем стоит выбрать для распределения ролей пользователям?

Всем участникам обсуждения выражаю благодарность!
  • Вопрос задан
  • 2975 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы