Как подключить клиента к Symfony API для аутентификации OAuth2 - PullRequest
0 голосов
/ 07 июня 2019

Я настраиваю приложение, созданное в React + php (symfony / API Platform), где реакции должны использовать OAuth2 для аутентификации пользователя в Facebook, но я изо всех сил пытаюсь подключить внешний интерфейс к бэкэнду.

Сейчас я пытаюсь заставить работать FB.Я установил response-facebook-login и настроил его.Я могу видеть всплывающее окно аутентификации из FB, затем мне нужно вызвать мой бэкэнд-API для аутентификации пользователя и сохранить некоторую информацию на моем локальном БД.

, поэтому, на стороне php, я сделал контроллер

class FacebookController extends AbstractController
{
    /**
    * @Route("/connect/facebook/check", name="connect_facebook_check")
    */
    public function connectCheckAction(Request $request, ClientRegistry $clientRegistry)
    {

    }

}

и средство проверки подлинности, расширяющее KnpU \ OAuth2ClientBundle \ Security \ Authenticator \ SocialAuthenticator

и настроенное в security.yml:

guard:
    authenticators:
      - App\Security\Authenticator\FacebookAuthenticator

Я могу нацелить контроллер, но я не 'не понимаю, как нацелить этот аутентификатор.Также я не уверен, что что-то упустил ... какая-нибудь помощь, пожалуйста?

Я следую учебному пособию здесь , но я хочу создать чистый API без сохранения состояния.

1 Ответ

0 голосов
/ 21 июня 2019

Я реализовал аутентификацию JWT в платформе API, и я знаю, что я указываю аутентификатор вот так, и он работает:

//api/config/packages/security.yaml
security:
    providers:
        main:
            anonymous: true
            stateless: true
            guard:
                authenticators:
                    - lexik_jwt_authentication.jwt_token_authenticator

Первое предположение: у вас есть ключ 'guard' накорневой уровень?Он должен быть вложен в security:providers:main как в учебнике.

...