Как я могу исправить этот цикл перенаправления Symfony 4 с HWIOAuthBundle и Auth0? - PullRequest
0 голосов
/ 03 ноября 2018

Я пытался настроить мой экземпляр Symphony 4 для использования https вместо http, но застрял на том, как исправить петлю перенаправления, идущую к uri /login/. С базовым http у меня все работает нормально, но когда я пытаюсь добавить поддержку https через эту статью , я получаю цикл перенаправления. Итак, связанные файлы конфигурации:

hwi_oauth.yaml

hwi_oauth:
    firewall_names: [secured_area]
    connect: ~
    resource_owners:
        auth0:
            type:                oauth2
            class:               'App\Model\Auth0ResourceOwner'
            base_url:            https://mytenant.auth0.com
            client_id:           myid
            client_secret:       mysecret
            redirect_uri:        /oauth/callback
            scope: "openid profile email"

security.yaml

security:
    providers:
        hwi:
            id: hwi_oauth.user.provider

firewalls:
    secured_area:
        anonymous: ~
        oauth:
            resource_owners:
                auth0: "/oauth/callback"
            login_path:        /login
            use_forward:       false
            failure_path:      /login
            default_target_path: /secured
            oauth_user_provider:
                service: hwi_oauth.user.provider
        logout:
            path:   /logout
            target: /

access_control:
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/secured, roles: ROLE_OAUTH_USER }

hwi_oauth_routing.yaml

hwi_oauth_redirect:
    resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
    prefix:   /connect
    schemes: [https]

hwi_oauth_connect:
    resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"
    prefix:   /connect
    schemes: [https]


hwi_oauth_login:
    resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
    prefix:   /login
    schemes: [https]


auth0_login:
    path: /oauth/callback
    schemes: [https]


auth0_logout:
    path: /logout
    schemes: [https]

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

Я не осознавал, что мне нужно настроить способ настройки прокси-серверов в Symfony. Итак, эта статья , которая разрешила мою проблему.

Я использовал вариант кода

// public/index.php

// ...
$request = Request::createFromGlobals();
// tell Symfony about your reverse proxy
Request::setTrustedProxies(
    // the IP address (or range) of your proxy
    ['192.0.0.1', '10.0.0.0/8'],

    // trust *all* "X-Forwarded-*" headers
    Request::HEADER_X_FORWARDED_ALL

    // or, if your proxy instead uses the "Forwarded" header
    // Request::HEADER_FORWARDED

    // or, if you're using AWS ELB
    // Request::HEADER_X_FORWARDED_AWS_ELB
);
0 голосов
/ 03 ноября 2018

попробуйте лучший способ это - введите описание ссылки здесь

  1. Очисти свой ум - начни с базового
  2. мин. требуется - кодировать провайдер метода пропуска
  3. Доверяй волшебной логике - симфони любую работу сделай за 4 u!
...