加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何将FOSUserBundle配置为启用FOSOAuthServerBundle的服

发布时间:2020-12-13 17:27:07 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试将FOSUserBundle设置为启用FOSOAuthServerBundle的服务器的身份验证提供程序.在我尝试实现FOSUserBundle之前,FOSOAuthServerBundle已经正常工作,而且FOSUserBundle也没有FOSOAuthServerBundle工作,但是我无法让他们一起工作. 我的问题是在下面的se
我正在尝试将FOSUserBundle设置为启用FOSOAuthServerBundle的服务器的身份验证提供程序.在我尝试实现FOSUserBundle之前,FOSOAuthServerBundle已经正常工作,而且FOSUserBundle也没有FOSOAuthServerBundle工作,但是我无法让他们一起工作.

我的问题是在下面的security.yml中的oauth_authorize:firewall中的身份验证提供程序应该指定什么?

# app/config/security.yml
security:
    providers:
    fos_userbundle:
        id: fos_user.user_provider.username

    encoders:
        FOSUserBundleModelUserInterface: sha512

    firewalls:
        oauth_token:
            pattern:    ^/oauth/v2/token
            security:   false

        oauth_authorize:
            pattern:    ^/oauth/v2/auth

            # WHAT GOES HERE?

        api:
            pattern:    ^/api
            fos_oauth:  true
            stateless:  true

    access_control:
        - { path: ^/api,roles: [ IS_AUTHENTICATED_FULLY ] }

我正在尝试验证用户,而不是客户端.非常感谢.

您应该在config.yml中具有以下内容
fos_user:
   db_driver: orm
   firewall_name: main
   user_class: ZoefUserBundleEntityUserere

和这样的oauth服务器

fos_oauth_server:
    db_driver: orm
    client_class:        {PATH TO ENTITY}Client
    access_token_class:  {PATH TO ENTITY}AccessToken
    refresh_token_class: {PATH TO ENTITY}RefreshToken
    auth_code_class:     {PATH TO ENTITY}AuthCode
        service:
            user_provider: fos_user.user_provider.username

而security.yml应该是这样的:

security:
    encoders:
        FOSUserBundleModelUserInterface: sha512
    providers:
        fos_userbundle:
            id: fos_user.user_provider.username
    firewalls:
        oauth_token:
            pattern:    ^/oauth/v2/token
            security:   false

    access_control:
    - { path: ^/,roles: ROLE_ADMIN }

你可以测试它是否有效,因为当你得到任何url你应该得到这样的回复:

{“error”:“access_denied”,“error_description”:“OAuth2 authentication required”}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读