2015-04-01 3 views
3

Я создаю приложение API RESTful с помощью Symfony2. Приложение будет состоять из двух частей.Проверка подлинности аутентификации Symfony и OAuth2

  1. JavaScript front-end - все, что пользователь сможет увидеть и сделать, будет находиться здесь.

  2. Интерфейс API-интерфейсов Symfony2 - каждый ресурс и данные, которые пользователь сможет получить от внешнего интерфейса, будут обслуживаться в стандартном JSON через конечные точки.

Я до сих пор не строил полностью RESTful-приложение. Моя главная проблема заключается в том, как аутентифицировать пользователей.

Я представляю REST аутентификации, как это:

Пользователь вводит свои учетные данные в форме, генерируемой в передней части, то запрос отправляется на сервер, где логика аутентификации происходит, и если проверка подлинности пользователя, ответ с «токеном» отправляется обратно пользователю, что он добавит этот токен к каждому заголовку запроса или заголовку запроса (я не знаю, какой из этих параметров предпочтительнее).

Затем с каждым запросом сервер проверяет, является ли токен пользователя действительным, и если пользователь имеет право доступа к этим данным (ролям) и, если это так, запрашивает данные запроса. (Я не хочу, чтобы пользователи входили в Google, Facebook или что-то в этом роде. Я хочу, чтобы мои пользователи вошли в другое приложение, используя мое приложение)

Теперь это выглядит довольно просто, но тогда есть OAuth2, который меня смутил потому что я перешел в развитие без исследований. Я загрузил FOSOAuthServerBundle и начал возиться, когда у меня появилось ощущение, что что-то не так.

Что я хотел бы знать, это разница между аутентификацией RESTful и OAuth.

Каковы рекомендации по реализации описанного механизма входа?

ответ

0

У вас там довольно красивое место. Вы используете OAuth только для аутентификации, и все следующие запросы должны будут содержать заголовок HTTP-Authorization. Вам нужно будет создать свой custom authentication provider для его обработки. Также используйте что-то вроде FOSRestBundle для создания ваших ресурсов.

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