Я хочу создать сервер oauth2 для своих сайтов (3 сайта, 1 логин). Я создал сервер, использовал FOSUserBundle и FOSOAuthServerBundle, следовал инструкциям.
Но у меня 1 проблема. Я могу создать токен через /oauth/v2/token, это нормально. Я могу перейти на /oauth/v2/oauth, но когда меня перенаправляют на веб-сайт, у меня есть example.com?error=invalid_request&error_description=Invalid+response+type.
И если я войду в /login, я войду в систему, но токен не будет создан. Это было бы хорошо, если бы у меня был только 1 веб-сайт, но я хотел бы сделать что-то более похожее на Google (если вы находитесь на картах, YouTube... если вы хотите войти, вы будете перенаправлены на account.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 ] }
Должен ли я создать новую страницу входа или провайдера пользователя? Спасибо :)