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”} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |