2015-06-14 2 views
0

Я создал API на основе Symfony, который используется угловым передним концом, который полностью зависит от него (регистрация пользователя в комплекте)Закрепление API-интерфейса Symfony RESTful, потребляемого угловым фронтом?

Я прочитал несколько потоков, рекомендующие с помощью WSSE или FOSOAuthServerBundle, но я не уверен, о лучшем методе?

Если я правильно понял, WSSE должен отправлять для каждого заголовка x-wsse API-запросы API, которые заставляют меня думать, что он не подходит для производительности.

О FOSAuthServerBundle Я никогда не использовал его и выглядел немного сложнее для меня по сравнению с WSSE, поэтому именно поэтому я прошу туда, прежде чем пытаться его реализовать.

У меня есть две простые группы пользователей (базовые и административные), что было бы лучшим способом защитить мой API, кроме того, предоставляя простой способ сохранить постоянство пользователя (я имею в виду доступ через разные страницы)?

Как это должно быть в угловой лицевой стороне?

Благодарим за помощь.

Refs: http://blog.tankist.de/blog/2013/07/16/oauth2-explained-part-1-principles-and-terminology/

http://obtao.com/blog/2013/06/configure-wsse-on-symfony-with-fosrestbundle/

ответ

2

Все зависит от того, что ваши требования.

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

FOSAuthServerBundle - это комплект для реализации серверной части спецификации OAuth2. Это в основном означает, что вы можете предоставить свою сторону API OAuth2 другим приложениям и позволить им использовать ваши учетные записи для аутентификации. Подумайте, как войти в Google, войти в Twitter и т. Д., Но для своего собственного приложения.

Все это не имеет никакого отношения к тому, как вы проверяете или авторизуете свои запросы после первоначального входа в систему.

Вы хотите внедрить аутентификацию без гражданства? Затем я бы рекомендовал использовать новую спецификацию JNT Web Token (JWT).

См Symfony Bundle (LexikJWTAuthenticationBundle) и JWT description (JWT.io)

Есть много ресурсов на него с угловой стороны вещей и API часть довольно проста.

WSSE не подходит для реализации в RESTful API, и у меня нет опыта использования/реализации, поэтому я не могу прокомментировать его слишком много.

+1

Определенно согласится с тем, что спустится маршрут JWT/LexikJWTAuthenticationBundle. Если вам не нужны какие-либо дополнительные функции, WSSE и OAuth действительно перегружены для большинства API. – Maltronic

+0

@BartVanRemortele не уверен, почему мой комментарий был удален модераторами: -S Ну, это вовсе не протокол аутентификации. Он не аутентифицирует пользователя, это цель IP, который oauth2 не предоставляет. – zerkms

+0

@BartVanRemortele oauth * может * авторизовать аутентификацию, это правильно. Но это не обязательно (и ничто в стандарте не упоминает аутентификацию, как вообще). Каждая собака - это млекопитающее, а не каждое млекопитающее - собака. «Как вы можете использовать OAuth для авторизации, когда вы не подтвердили, кто такой человек?» --- На самом деле, очень легко.Атрибут auth не должен быть связан с каким-либо пользователем, любой учетной записью или чем-то подобным. «Это протокол авторизации для авторизации сторонних приложений для проверки личности пользователя». --- это не. Это разрешено сторонним приложениям действовать от имени, а не аутентифицироваться. – zerkms

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