如何在Symfony2 Security simple_preauth防火墙中拥有多个身份验证器

时间:2015-05-08 09:19:43

标签: security symfony authentication firewall

我们正在构建一个Symfony网站,它将为移动应用程序公开REST API,但使用身份验证令牌,它将自动化开发人员以使用API​​,对于此功能,我正在使用simple_preauth防火墙身份验证器,正好。防火墙配置:

firewalls:
    app_authenticated:
        pattern: ^/api
        context: app
        stateless: true
        simple_preauth:
            authenticator: api_key_authenticator

但是我们的移动应用程序将为最终用户提供登录功能,我们需要用户的会话无状态,这意味着登录用户的代币必须与开发人员一起提供'令牌,如何在simple_preauth防火墙索引下实现multimple身份验证器?

我尝试提供[api_key_authenticator, api_key_authenticator2]作为2个身份验证器,但simple_preauth.authenticator要求值为标量,而不是数组。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

只有Symfony 2.8才能使用Guard身份验证:

https://symfony.com/doc/2.8/security/guard_authentication.html

    firewalls:
    other_user_access:
        pattern: ^/api/user/email$
        guard:
            authenticators:
                - dev_authenticator
                - api_prod_user_authenticator
                - api_token_authenticator
        entry_point: dev_authenticator