Я хочу создать сервер oauth2 для своих сайтов (3 веб-сайта, 1 логин). Я создал сервер, я использовал FOSUserBundle и FOSOAuthServerBundle, я выполнил инструкции.Symfony2 сервер oauth2
Но у меня есть 1 проблема. Я могу создать токен через/oauth/v2/token, это прекрасно. Я могу перейти к/oauth/v2/oauth, но когда я перенаправлен на сайт, у меня есть examle.com?error=invalid_request & error_description = Неверный + ответ + тип.
И если я запишусь в/логин, я войду в систему, но не будет создан токен. Это было бы хорошо, если бы у меня был только 1 сайт, но я хотел бы сделать что-то большее, как Google (если вы на картах, youtube ... если вы хотите войти в систему, вы перенаправлены на accounts.google.com, войдите в систему , затем обратно на сайт), но я не могу понять, как это сделать прямо сейчас. Думаю, мне нужно больше работать, но где именно?
Мои 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/auth ваши параметры запроса? – loicfavory
Несомненно, это: /oauth/v2/auth?client_id=CLIENT_ID&redirect_uri=http://www.example.com Когда я иду туда, я должен войти (с страницей входа в систему fosuser), затем я прихожу страницу deny-allow из fosauthserverbundle, тогда я перенаправлен на example.com, с ошибкой, и не создается токен – Arvi89