访问oauth2服务器中的/api方法



我试图创建一个基于FOSOauthServerBundle, FOSRestBundleFOSUserBundle的oauth2服务器。我创建了一个演示应用程序来测试我的oauth-server,它无法通过GET reguest

接收数据

(received 401 error ' error="access_denied", error_description="OAuth2 . net "需要认证" '),

,尽管用户已经过身份验证并且客户端正确接收了访问令牌。

我应该如何实现api控制器,使oauth2将执行身份验证过程?

另外,我想看看基于这些bundle的实际工作oauth服务器示例,以便我能够检查我的应用程序。

我security.yml

:

jms_security_extra:
    secure_all_services: false
    expressions: true
security:
acl:
    connection: default
role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
    in_memory:
        memory:
            users:
                user:  { password: userpass, roles: [ 'ROLE_USER' ] }
                admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }
    fos_userbundle:
        id: fos_user.user_provider.username
encoders:
      FOSUserBundleModelUserInterface: sha512
      SymfonyComponentSecurityCoreUserUser: plaintext
firewalls:
    api:
        pattern: ^/api
        fos_oauth: true
        stateless: true
    oauth_authorize:
        pattern: ^/oauth/v2/auth
        form_login:
            provider: fos_userbundle
            check_path: /oauth/v2/auth_login_check
            login_path: /oauth/v2/auth_login
            use_referer: true
        anonymous: true
    oauth_token:
        pattern: ^/oauth/v2/token
        security: false  
    secured_area:
        pattern:    ^/
        anonymous: ~
        form_login:
            provider: fos_userbundle
            check_path: /login_check
            login_path: /login
            always_use_default_target_path: true
            default_target_path: /
access_control:
    - { path: ^/oauth/v2/auth_login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/oauth/v2/auth, role: ROLE_USER }
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY}
    - { path: ^/, roles: ROLE_USER }
    - { path: ^/api, roles: [ IS_AUTHENTICATED_FULLY ] }

谢谢。

提交答案,这样将结束开放问题。

访问被拒绝,因为请求不包含访问令牌。参考文档中的"创建客户端和使用"章节。

https://github.com/FriendsOfSymfony/FOSOAuthServerBundle/blob/master/Resources/doc/index.md

最新更新