2017-02-15 23 views
-1

Вот у меня есть небольшая проблема архитектуры, прежде всего, у меня есть два приложения:Как подключить пользователя между передней и API, используя логин/пароль или oauth2

  • АНИ пишет Symfony 3.3
  • Переднее пишет тоже Symfony 3.3

Тогда, я хотел бы иметь два способа для входа:

  • диафрагменных Первый - с использованием третьего приложения, такого как Facebook, Google или Twitter. Для этой части я подумал об использовании hwiOauthBundle
  • Или просто по логину/паролю. Здесь я думал об использовании FOSUerbundle

Наконец-то я хотел бы иметь безопасный api, что не связанный пользователь не может достичь ресурсов api.

Что мне нужно установить или разработать, чтобы все выраженные критерии были выше?

Заранее благодарю вас за ваш ответ.

ответ

1

Вам необходимо настроить какую-то конечную точку прокси-сервера для входа в систему, которая имеет oauth client_id и секрет.

Затем с именем пользователя и паролем, предоставленным пользователем, вы должны запросить оконечную точку маркера backend, чтобы получить токен доступа.

После этого вам просто нужно подписать свой запрос на бэкэнд с помощью этого жетона.

В моем случае я использую FosUserBundle для управления пользователями, FosOauthServerBundle для управления Open Auth. Оба установлены в бэкэнд.

После установки вам необходимо зарегистрировать клиент aAuth. Этот урок был действительно полезен для меня OAuth2 Explained

+0

Благодарим за ответ. Однако, как вы регистрируетесь для нового пользователя? Так же как мы «подключаем» пользователя facebook к нашему API? – Khalezis

+0

С помощью специального типа гранта, который проверяет токен, сгенерированный процессом входа в систему Facebook. Я использую fosuserbundle для управления пользователями (создайте в этом случае) и сохраните токен Facebook, связанный с этим пользователем. – Carlos

 Смежные вопросы

  • Нет связанных вопросов^_^