Я пишу приложение с использованием Symfony2, которое будет взаимодействовать с Wordnik REST API.Проверка подлинности Symfony2 через сторонний API REST
В настоящее время API Wordnik не предлагает возможности OAuth, поэтому я должен принять имя пользователя и пароль, которые затем прозрачно перейдут в интерфейс API.
Я хотел бы интегрировать эту аутентификацию API в систему безопасности Symfony2, но до сих пор я не смог определить, какой лучший путь реализации.
Я не думаю, что custom user provider верен, потому что пароль не хранится в моей системе. Все примеры относительно custom authentication providers, по-видимому, относятся к закреплению части приложения как API, а не против API REST.
Непонятно, в какой степени FOSUserBundle помогает решить эту проблему.
Идеальный поток:
- Пользователь предоставляет учетные данные.
- Полномочий передаются третья партия REST API
- Если учетные данные являются правильными:
- Соответствующим «пользователь третьей стороны» Entity создается моим приложением, если он не существует.
- Пользователь аутентифицируется с использованием этого пользователя «стороннего пользователя».
Каков наилучший способ осуществить это в контексте безопасности Symfony2?
Спасибо!
Вопросы, относящиеся:
Я борюсь с той же проблемой. Не могли бы вы поделиться своим кодом с тем, как вы это сделали? – Steffan
@Steffan - Прошло 2 года с момента написания этого кода, но вы можете увидеть провайдер/токен, который мы здесь написали: https://github.com/freen/wordrot/tree/584a7b361ba21eb1cf5303949cb6b3d30eecf687/src/WordRot/PlayBundle/ Безопасность/Аутентификация .... при последующих коммитах я удалил бэкэнд PHP вместо того, чтобы вместо этого использовать бэкэнд узла, так что фиксация - это последнее состояние PHP. –
Thx alot, но я нашел более простой способ сделать это с помощью [guard system] (https://knpuniversity.com/screencast/guard/login-form) thx на @DevDonkey из [this] (http: // stackoverflow .com/questions/34376315/symfony2-authenticate-is-not-execute? noredirect = 1 # comment56501487_34376315) сообщение. – Steffan