0

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 ] }

新しいログイン ページまたはユーザー プロバイダーを作成する必要がありますか? ありがとう :)

4

1 に答える 1