Web サイト (3 つの Web サイト、1 つのログイン) 用に oauth2 サーバーを作成したいと考えています。サーバーを作成し、FOSUserBundle と FOSOAuthServerBundle を使用し、指示に従いました。
しかし、私には1つの問題があります。/oauth/v2/token でトークンを作成できます。これで問題ありません。/oauth/v2/oauth に移動できますが、Web サイトにリダイレクトされると、example.com?error=invalid_request&error_description=Invalid+response+type.
/login でログインすると、ログインはできますが、トークンは作成されません。ウェブサイトが 1 つしかない場合はこれで問題ありませんが、Google のようなものを作成したいと考えています (マップを使用している場合は、YouTube... ログインする場合は、accounts.google.com にリダイレクトされ、ログインします)。 、その後 Web サイトに戻ります) が、今はその方法がわかりません。もっと仕事をする必要があると思いますが、正確にはどこですか?
私の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 ] }
新しいログイン ページまたはユーザー プロバイダーを作成する必要がありますか? ありがとう :)