Сделайте приложение доступным в 2 случаях с маркером JWT и без него - PullRequest
0 голосов
/ 28 октября 2019

У меня есть этот код:

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    login:
        pattern:  ^/api/public/login
        stateless: true
        anonymous: true
        json_login:
            check_path:               /api/public/login
            success_handler:          lexik_jwt_authentication.handler.authentication_success
            failure_handler:          lexik_jwt_authentication.handler.authentication_failure
    api:
        pattern:   ^/api/private
        stateless: true
        guard:
            authenticators:
                - lexik_jwt_authentication.jwt_token_authenticator
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_token_generator: security.csrf.token_manager
        oauth:
            resource_owners:
                facebook:         "/secured/login_facebook"
                google:           "/secured/login_google"
            login_path:        fos_user_security_login
            failure_path:      fos_user_security_login
            oauth_user_provider:
                service: app.provider.oauth
            default_target_path: /api/public/facebook/back

        logout:       true
        anonymous:    true

# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used
access_control:
    - { path: ^/login$,             role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/,             role: ROLE_ADMIN }
    - { path: ^/api/private/,       role: IS_AUTHENTICATED_FULLY }
    - { path: ^/api/public/,        role: IS_AUTHENTICATED_ANONYMOUSLY }

Теперь, если я вызываю API: api/public/gifts, он работает нормально. Но когда я попытался получить токен, я получил: anonym. Это не правильно для меня, потому что я хочу, чтобы этот маршрут был доступен как в подключенном, так и в автономном режиме. Что я делаю не так? Когда я звоню api/private/my-profile, я получаю нужного пользователя в $tokenInterface->getToken()->getUser(). Помогите мне, пожалуйста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...