Я оцениваю loopback 3 для сервера только с REST API и хочу разрешить клиентам входить в систему с помощью социальных платформ.Большинство методов API будут ограничены токеном доступа и ACL.После исследования я обнаружил, что общая архитектура для входа в социальную сеть:
- Клиентская сторона (браузер) согласовывает действительный социальный токен с провайдером (скажем, Facebook)
- Клиент отправляет социальныйтокен на сервер API (loopback)
- Сервер проверяет токен у провайдера (Facebook), создает локального пользователя и возвращает токен доступа для API REST (конечно, это должна быть разрешенная сторона сервера с одной операциейвызывается из клиента)
Я уже реализовал предлагаемое решение для социальной аутентификации по шлейфу (https://github.com/strongloop/loopback-example-passport),, но не смог найти способ включить в него верхнюю архитектуру. В частности:
-
loopback-example-passport
включает в себя серверные виды и вещи, которые я не хочу в своем проекте (и я не уверен, что удалить) - Я не уверен, на какомвызов метода для проверки токена Facebook, создания пользователя (он не существует) и возврата токена доступа клиента.
Это схема ожидаемой архитектуры: (Кредит изображения: https://medium.com/@spyna/how-really-protect-your-rest-api-after-social-login-with-node-js-3617c336ebed)