1
私は自分のアプリにHWIOauthBundle + FOSUserBundleを実装していて、部分的に動いています。HWIOauthBundle - Facebook Login - Symfony3
ログインは正常に動作していますが、存在しないか間違ったパスワードでログインすると、(HWIOauthBundleのために)/接続ルートにリダイレクトされます。
どうすればこの問題を解決できますか?何か間違っている場合は、FOSUserBundleから/ login_checkが戻ってきているかどうかを確認してください。私はFacebookにログインしたくない。
私のsecurity.ymlコード:
# To get started with security, check out the documentation:
# http://symfony.com/doc/current/book/security.html
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username_email
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
oauth:
resource_owners:
facebook: '/login'
login_path: /connect
failure_path: /connect
oauth_user_provider:
service: hwi_oauth.user.provider.fosub_bridge
logout: true
anonymous: true
remember_me:
secret: '%secret%'
lifetime: 604800 # 1 week in seconds
path: /
# by default, the feature is enabled by checking a
# checkbox in the login form (see below), uncomment the
# following line to always enable it.
#always_remember_me: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_ADMIN }
- { path: ^/shipment, roles: ROLE_USER }
私のrouting.ymlコード:
# app/config/routing.yml
hwi_oauth_redirect:
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
prefix: /connect
hwi_oauth_connect:
resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"
prefix: /connect
hwi_oauth_login:
resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
prefix: /connect
facebook_login:
path: /login/check-facebook
# main login.
AppBundle:
resource: "@AppBundle/Controller/"
type: annotation
FrontendBundle:
resource: "@FrontendBundle/Controller/"
type: annotation
FOSUserBundle:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
FOSMessageBundle:
resource: "@FOSMessageBundle/Resources/config/routing.xml"
prefix: /messenger
MyDinxxUserBundle:
resource: "@UserBundle/Controller/"
type: annotation
これは何とかしています...まだリダイレクトされていますが、今は/ loginルートにあり、エラーはありません。私はそのページに私をリダイレクトしなければならないと思うが、エラーがある。 – Kiddo
最後に、security.ymlとrouting.ymlの '/ login'を '/ login'に変更してみてください。 –
/loginでルートをすべて/接続しますか? – Kiddo