2014-10-29 2 views
0

이 기사를 읽고 OAuth2를 Github과 함께 구현했습니다. 인증 성공 후 아래 오류가 발생합니다.HWIOAuthBundle과 FosUserbundle 구성 문제 통합

경로 "/ secure_area/login/check-github"에 대한 컨트롤러를 찾을 수 없습니다. 라우팅 구성에 일치하는 경로를 추가하는 것을 잊었을 수 있습니까?

config.yml

hwi_oauth: 
    # name of the firewall in which this bundle is active, this setting MUST be set 
    firewall_name: secure_area 
    connect: 
     confirmation: true 
     #account_connector: hwi_oauth.user.provider.fosub_bridge 
     #registration_form_handler: hwi_oauth.registration.form.handler.fosub_bridge 
     #registration_form: fos_user.registration.form 

    resource_owners: 
     github: 
      type:    github 
      client_id:   a8b7e3e35e46271d10a5 
      client_secret:  6abca3ded9a19d9e2bf52b42f017d23a745bd540 
      scope:    "user:email" 

    fosub: 
     # try 30 times to check if a username is available (foo, foo1, foo2 etc) 
     username_iterations: 30 

     # mapping between resource owners (see below) and properties 
     properties: 
      github: githubID 

security.yml 당신이 당신의 라우팅 구성이 무엇

# app/config/security.yml 
security: 
    encoders: 
     FOS\UserBundle\Model\UserInterface: sha512 

    role_hierarchy: 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: ROLE_ADMIN 

    providers: 
     fos_userbundle: 
      id: fos_user.user_provider.username 

    firewalls: 
     main: 
      pattern: ^/ 
      form_login: 
       provider: fos_userbundle 
       csrf_provider: form.csrf_provider 
      logout:  true 
      anonymous: true 
     secure_area: 
      pattern: ^/secure_area 

      oauth: 
       failure_path: /secure_area/connect 
       login_path: /secure_area/connect 
       check_path: /secure_area/connect 
       provider: fos_userbundle 
       resource_owners: 
        github:   "/secure_area/login/check-github" 
       oauth_user_provider: 
        service: hwi_oauth.user.provider.fosub_bridge 

      anonymous: true 
      logout: 
       path:   /secure_area/logout 
       target:   /secure_area/connect #where to go after logout 


    access_control: 
     - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/admin/, role: ROLE_ADMIN } 
     - { path: ^/secure_area/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/secure_area/connect, roles: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/secure_area, roles: ROLE_USER } 
+0

감사합니다. – amit

+0

다음에 Github 보안 토큰을 가려 볼 수 있습니다. 아직 그렇게하지 않았다면 Github에서 재설정 할 수 있습니다 :) –

답변

0

. hwi_github_login에 대한 경로 설정이 있습니까?

Github 응용 프로그램을 만들 때 지정한 콜백 URL과 동일한 hwi_github_login이라는 경로가 추가되었습니다. 이것은 인증을 확인하기 위해 방화벽에 의해 차단 될 URL입니다.

귀하의 routing.yml가 있어야한다 : 들여 쓰기 아담을 고정

hwi_oauth_redirect: 
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml" 
prefix: /secure_area/connect 

hwi_oauth_login: 
resource: "@HWIOAuthBundle/Resources/config/routing/login.xml" 
prefix: /secure_area/connect 

hwi_oauth_connect: 
resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml" 
prefix: /secure_area/connect 

hwi_github_login: 
pattern: /secure_area/login/check-github