Symfony Security: авторизация с сеансом или oauth

Я разработал REST API, к нему можно подключиться двумя способами: сессия и oauth. По сути, мой веб-сайт будет использовать режим сеанса, а стороннее программное обеспечение будет использовать режим oauth.

Мне удалось сделать так, чтобы сессия и режим oauth работали в Symfony, но я могузаставить их работать одновременно.

Вот моя конфигурация безопасности брандмауэров:

firewalls:
    auth_oauth_token:
        pattern:    ^/auth/oauth/v2/token
        security:   false

    api:
        pattern:    ^/api
        anonymous:  false
        fos_oauth:  true
        stateless:  true

    auth:
        pattern:    ^/
        anonymous: ~
        form_login:
            login_path: /auth/session/check
            check_path: /auth/session/login
            always_use_default_target_path: true
            default_target_path: /auth/session/check
            failure_path: /auth/session/check
            failure_forward: false
            use_forward: false
            failure_forward: false
            username_parameter: username
            password_parameter: password
            post_only: true
            remember_me: false
            require_previous_session: false
        logout:
            path: /auth/session/logout
            target: /auth/session/logged_out
            invalidate_session: false

Обработка сеанса: / auth / session. Обработка OAuth: / auth / oauth. Api: / api.

Итак, с этим конфигом, с "апи» сначала брандмауэр, я могу войти с помощью токена. Но даже вошли с сеансом, если я неТокен, я выигралу меня нет доступа.

С "Auth» брандмауэр, во-первых, я могу войти с помощью формы сеанса. Но даже если я укажу токен, я выиграюу меня нет доступа.

Я схожу с ума от этого. Я обнаружил в переполнении стека что-то о цепных провайдерах, мне, вероятно, понадобится что-то вродецепной брандмауэр "... если запрещено, проверьте другой брандмауэр.

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос