내 웹 사이트 (3 개의 웹 사이트, 1 개의 로그인)에 대해 oauth2 서버를 만들고 싶습니다. 나는 서버를 만들었고 FOSUserBundle과 FOSOAuthServerBundle을 사용했다. 나는 지침을 따랐다.Symfony2 oauth2 서버
하지만 문제가 1 개 있습니다./oauth/v2/token을 통해 토큰을 만들 수 있습니다. 괜찮습니다. /oauth/v2/oauth로 갈 수 있지만 웹 사이트로 리디렉션 될 때 examle.com?error=invalid_request & error_description = 응답 + 유형이 잘못되었습니다.
로그인 할 때/로그인하면 로그인되지만 토큰이 생성되지 않습니다. 1 개의 웹 사이트 만 있다면 괜찮을 것이지만 나는 Google과 비슷한 것을 만들고 싶습니다. (지도에 있다면 youtube ... 로그인하려면 accounts.google.com, login으로 리디렉션됩니다. , 다시 웹 사이트로 돌아온다.) 그러나 나는 지금 당장 그것을 어떻게하는지 볼 수 없다. 나는 더 많은 일을 할 필요가 있다고 생각하지만, 정확히 어디에서?
내 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
oauth_token:
pattern: ^/oauth/v2/token
security: false
oauth_authorize:
pattern: ^/oauth/v2/auth
anonymous: true
api:
pattern: ^/api
fos_oauth: true
stateless: true
anonymous: false # can be omitted as its default value
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: ^/api, roles: [ IS_AUTHENTICATED_FULLY ] }
나는 새 로그인 페이지 또는 사용자 공급자를 만들해야 하는가? 감사합니다 :)
것 같다 당신의/oauth/v2/auth에 대한 요청이 잘못되었습니다. 이 기사를 사용하여 FosOauthBundle을 이해했습니다 : http://blog.tankist.de/blog/2013/07/16/oauth2-explained-part-1-principles-and-terminology/. 어쩌면 당신은 그것을 읽을 수 있습니다. 여기/oauth/v2/request params를 쓸 수 있습니까? – loicfavory
물론, /oauth/v2/auth?client_id=CLIENT_ID&redirect_uri=http://www.example.com 내가 갈 때, 나는 (fosuser 로그인 페이지로) 로그인해야한다. fosauthserverbundle의 거부 허용 페이지에서 오류가있는 example.com에서 리디렉션되고 토큰이 생성되지 않습니다. – Arvi89