Цикл 3: Внедрение социальной аутентификации в проекте только для API - PullRequest
1 голос
/ 13 мая 2019

Я оцениваю loopback 3 для сервера только с REST API и хочу разрешить клиентам входить в систему с помощью социальных платформ.Большинство методов API будут ограничены токеном доступа и ACL.После исследования я обнаружил, что общая архитектура для входа в социальную сеть:

  1. Клиентская сторона (браузер) согласовывает действительный социальный токен с провайдером (скажем, Facebook)
  2. Клиент отправляет социальныйтокен на сервер API (loopback)
  3. Сервер проверяет токен у провайдера (Facebook), создает локального пользователя и возвращает токен доступа для API REST (конечно, это должна быть разрешенная сторона сервера с одной операциейвызывается из клиента)

Я уже реализовал предлагаемое решение для социальной аутентификации по шлейфу (https://github.com/strongloop/loopback-example-passport),, но не смог найти способ включить в него верхнюю архитектуру. В частности:

  1. loopback-example-passport включает в себя серверные виды и вещи, которые я не хочу в своем проекте (и я не уверен, что удалить)
  2. Я не уверен, на какомвызов метода для проверки токена Facebook, создания пользователя (он не существует) и возврата токена доступа клиента.

Это схема ожидаемой архитектуры: enter image description here (Кредит изображения: https://medium.com/@spyna/how-really-protect-your-rest-api-after-social-login-with-node-js-3617c336ebed)

...