Symfony 3 с GraphQL: аутентификация

Я использую Symfony 3 с youshido / graphql-bundle и FOSUserBundle. Я начинаю работать над аутентификационной частью API и не знаю, как с этим справиться с помощью GraphQL.

В ходе своих исследований я обнаружил, что обычно существует конечная точка REST для управления аутентификацией пользователя, но я бы хотел управлять ею с помощью GraphQL и FOSUserBundle. Кроме того, FOSUserBundle предлагает только конечные точки REST, и я не знаю, есть ли способ настроить его, чтобы мы могли использовать его службы только в преобразователях GraphQL.

Рабочий процесс, который я придумал, таков:

  • Пользователь аутентифицируется с помощью запроса GraphQL и получает токен, сгенерированный FOSUserBundle.
  • Пользователь отправляет запрос / мутацию с токеном в заголовках запроса
  • FOSUserBundle проверяет этот токен и дает доступ

Как бы вы поступили?

Спасибо!

Требуется ли FOSUserBundle? Потому что все, что он делает, дает вам объект пользователя и кучу маршрутов и контроллеров. Возможно, вам будет проще создать свою собственную систему аутентификации с помощью Symfony Guard Authenticator. Таким образом, вы будете полностью гибкими. Документация по аутентификации хорошо сделана и также охватывает аутентификацию по API.

Elbarto 01.08.2018 16:04

@Elbarto Спасибо за ответ! FOSUserBundle не является обязательным, но было бы неплохо, если бы я мог использовать некоторые из их функций вместо того, чтобы кодировать их сам.

Stae 01.08.2018 17:04

Хорошо, я понимаю принцип не изобретать колесо, но если инструмент не полностью отвечает кучей требований, зачем вам его использовать :)? В вашем случае, я думаю, вы сэкономите много времени, создав свою собственную систему аутентификации вместо того, чтобы перекрывать / расширять fosuserbundle. Вот хорошая информация: symfony.com/doc/current/security/…. FOSUserbundle использует аутентификацию symfony, поэтому вы можете создать свой собственный аутентификатор (если вы все же решите использовать FOSUB)

Elbarto 01.08.2018 17:14

@Elbarto Я постараюсь создать свою собственную систему аутентификации, если настройка FOSUB слишком утомительна, спасибо за ваше предложение! Есть ли у вас хоть немного опыта работы с Symfony и GraphQL?

Stae 02.08.2018 09:40

Symfony да, GraphQL нет. Несколько месяцев назад меня интересовал GraphQL, но я никогда особо не экспериментировал с ним.

Elbarto 02.08.2018 09:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
2
5
702
0

Другие вопросы по теме